Actor sheet, step 1
This commit is contained in:
BIN
assets/icons/deal.webp
Normal file
BIN
assets/icons/deal.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.0 KiB |
BIN
assets/icons/tarot.webp
Normal file
BIN
assets/icons/tarot.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.0 KiB |
BIN
assets/ui/sheet_background_01.webp
Normal file
BIN
assets/ui/sheet_background_01.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -9,7 +9,7 @@
|
||||
:root {
|
||||
--font-size-standard: 0.9rem;
|
||||
--font-size-result: 1.4rem;
|
||||
--background-image-base: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url("../assets/ui/ftl_nomad_background_01.webp");
|
||||
--background-image-base: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url("../assets/ui/sheet_background_01.webp");
|
||||
--font-primary: "MinionProRegular";
|
||||
--font-secondary: "MinionProRegular";
|
||||
--font-title: "SupernaturalKnight";
|
||||
@@ -22,26 +22,23 @@
|
||||
--color-critical-success: #1527cc;
|
||||
--color-critical-failure: #8d20e7;
|
||||
}
|
||||
.d100 {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
color: black;
|
||||
border-width: 0px;
|
||||
}
|
||||
#logo {
|
||||
content: var(--logo-standard);
|
||||
width: 100px;
|
||||
height: 50px;
|
||||
margin-left: 15px;
|
||||
}
|
||||
nav.tabs [data-tab] {
|
||||
color: var(--title-color);
|
||||
}
|
||||
#pause > img {
|
||||
content: var(--logo-standard);
|
||||
height: 192px;
|
||||
height: 256px;
|
||||
width: 256px;
|
||||
top: -45px;
|
||||
left: calc(50% - 96px);
|
||||
}
|
||||
i.fvtt-ftl-nomad {
|
||||
i.fvtt-hellborn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
background-image: var(--logo-standard);
|
||||
@@ -53,15 +50,15 @@ i.fvtt-ftl-nomad {
|
||||
filter: grayscale(1);
|
||||
transition: 0.3s;
|
||||
}
|
||||
.application.dialog.fvtt-ftl-nomad {
|
||||
.application.dialog.fvtt-hellborn {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
background-image: var(--background-image-base);
|
||||
}
|
||||
.application.dialog.fvtt-ftl-nomad button:hover {
|
||||
.application.dialog.fvtt-hellborn button:hover {
|
||||
background: var(--color-dark-6);
|
||||
}
|
||||
.application.dialog.fvtt-ftl-nomad .legend {
|
||||
.application.dialog.fvtt-hellborn .legend {
|
||||
font-family: var(--font-primary);
|
||||
}
|
||||
.chat-message,
|
||||
@@ -169,17 +166,6 @@ i.fvtt-ftl-nomad {
|
||||
min-width: 180px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/*.character-dmax-edit {
|
||||
input {
|
||||
display: flex;
|
||||
width: 60px;
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 5px 0 5px;
|
||||
text-align: center;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-pc .character-left .character-left-image {
|
||||
display: flex;
|
||||
@@ -217,16 +203,18 @@ i.fvtt-ftl-nomad {
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-pc .character-right .character-spec label {
|
||||
max-width: 6rem;
|
||||
.fvtt-hellborn .character-main .character-pc .character-right .character-definition .form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-pc .character-right .character-spec .hero-armor {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.fvtt-hellborn .character-main .character-pc .character-right .character-definition label {
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-pc .character-right .character-spec .hero-armor input {
|
||||
max-width: 3rem;
|
||||
.fvtt-hellborn .character-main .character-pc .character-right .character-definition input {
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
margin-bottom: auto;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-pc .character-right .character-name {
|
||||
display: flex;
|
||||
@@ -245,125 +233,89 @@ i.fvtt-ftl-nomad {
|
||||
.fvtt-hellborn .character-main .character-pc-edit {
|
||||
min-width: 500px;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills {
|
||||
.fvtt-hellborn .character-main .character-stats {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
flex: 1;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill {
|
||||
.fvtt-hellborn .character-main .character-stats .character-stat {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill .icon-skill {
|
||||
.fvtt-hellborn .character-main .character-stats .character-stat .icon-stat {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill .rollable:hover,
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill .rollable:focus {
|
||||
.fvtt-hellborn .character-main .character-stats .character-stat .rollable:hover,
|
||||
.fvtt-hellborn .character-main .character-stats .character-stat .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill .rollable {
|
||||
min-width: 4.5rem;
|
||||
max-width: 4.5rem;
|
||||
.fvtt-hellborn .character-main .character-stats .character-stat .rollable {
|
||||
min-width: 3.5rem;
|
||||
max-width: 3.5rem;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill .char-text {
|
||||
margin-left: 0.5rem;
|
||||
.fvtt-hellborn .character-main .character-stats .character-stat input {
|
||||
min-width: 2.5rem;
|
||||
max-width: 2.5rem;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill .d100 {
|
||||
flex: 0;
|
||||
max-width: 0.6rem;
|
||||
.fvtt-hellborn .character-main .character-stats-play {
|
||||
min-width: 120px;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill .form-group {
|
||||
flex: 0;
|
||||
padding-left: 5px;
|
||||
.fvtt-hellborn .character-main .character-stats-edit {
|
||||
min-width: 120px;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skills .character-skill .form-group .form-fields {
|
||||
font-size: 1.1rem;
|
||||
flex: none;
|
||||
width: 40px;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skill-play {
|
||||
min-width: 225px;
|
||||
}
|
||||
.fvtt-hellborn .character-main .character-skill-edit {
|
||||
min-width: 225px;
|
||||
}
|
||||
.fvtt-hellborn .character-biography {
|
||||
background-color: var(--color-light-1);
|
||||
}
|
||||
.fvtt-hellborn .character-biography prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
.fvtt-hellborn .character-biography prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .field-label {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .rank {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
gap: 8px;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .rank label {
|
||||
min-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .rank input {
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .biodata {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 8px;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .biodata label {
|
||||
min-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .resources {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 8px;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .resources label {
|
||||
min-width: 8rem;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .features,
|
||||
.fvtt-hellborn .character-biography .biodata {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 8px;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .features label,
|
||||
.fvtt-hellborn .character-biography .biodata label {
|
||||
min-width: 3rem;
|
||||
}
|
||||
.fvtt-hellborn .character-biography .features .feature,
|
||||
.fvtt-hellborn .character-biography .biodata .feature {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills {
|
||||
.fvtt-hellborn .tab.character-status .main-div {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills legend a {
|
||||
.fvtt-hellborn .tab.character-status .main-div legend a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills .skills {
|
||||
.fvtt-hellborn .tab.character-status .main-div .counters {
|
||||
display: flex;
|
||||
direction: column;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .main-div .counters input {
|
||||
min-width: 2.5rem;
|
||||
max-width: 2.5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .main-div .ailments {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .main-div .ailments .ailment {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .main-div .ailments .ailment label {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .main-div .ailments .ailment .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .main-div .perks {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills .skills .skill {
|
||||
.fvtt-hellborn .tab.character-status .main-div .perks .perk {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
@@ -371,424 +323,222 @@ i.fvtt-ftl-nomad {
|
||||
min-width: 12.3rem;
|
||||
max-width: 12.3rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills .skills .skill .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-skills .skills .skill .rollable:focus {
|
||||
.fvtt-hellborn .tab.character-status .main-div .perks .perk .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-status .main-div .perks .perk .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills .skills .skill .controls {
|
||||
.fvtt-hellborn .tab.character-status .main-div .perks .perk .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills .skills .skill .score {
|
||||
.fvtt-hellborn .tab.character-status .main-div .perks .perk .score {
|
||||
min-width: 1.2rem;
|
||||
max-width: 1.2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills .skills .skill .name {
|
||||
.fvtt-hellborn .tab.character-status .main-div .perks .perk .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-skills .skills .skill .item-img {
|
||||
.fvtt-hellborn .tab.character-status .main-div .perks .perk .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status legend a {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div legend a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .bonds {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .bonds .bond {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .bonds .bond .controls {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .bonds .bond .name {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .bonds .bond .type {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .type {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .bonds .bond .level {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .level {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .bonds .bond .item-img {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .motivations {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .rituals {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .motivations .motivation {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .rituals .ritual {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .motivations .motivation .controls {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .rituals .ritual .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .motivations .motivation .name {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .rituals .ritual .name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .motivations .motivation .item-img {
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .rituals .ritual .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .mentaldisorders {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .mentaldisorders .mentaldisorder {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .mentaldisorders .mentaldisorder .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .mentaldisorders .mentaldisorder .name {
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .mentaldisorders .mentaldisorder .cured {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .mentaldisorders .mentaldisorder .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .injuries {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .injuries .injury {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .injuries .injury .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .injuries .injury .name {
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-status .injuries .injury .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents legend a {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div legend a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .talents {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .talents .talent {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .talents .talent .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-talents .talents .talent .rollable:focus {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .talents .talent .controls {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .talents .talent .damage {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .talents .talent .name {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .talents .talent .item-img {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .languages {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .armors {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .languages .language {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .armors .armor {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .languages .language .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-talents .languages .language .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .languages .language .controls {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .armors .armor .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .languages .language .damage {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .armors .armor .protection {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .languages .language .name {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .armors .armor .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .languages .language .item-img {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .armors .armor .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .psionics {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .psionics .psionic {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .psionics .psionic .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-talents .psionics .psionic .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .psionics .psionic .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .psionics .psionic .damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .psionics .psionic .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-talents .psionics .psionic .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment legend a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .encumbrance {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .encumbrance input {
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .encumbrance .encumbered {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .implants {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .implants .implant {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .implants .implant .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-equipment .implants .implant .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .implants .implant .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .implants .implant .damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .implants .implant .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .implants .implant .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .weapons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .weapons .weapon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .weapons .weapon .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-equipment .weapons .weapon .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .weapons .weapon .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .weapons .weapon .damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .weapons .weapon .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .weapons .weapon .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .armors {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .armors .armor {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .armors .armor .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .armors .armor .protection {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .armors .armor .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .armors .armor .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .equipments {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .equipments .equipment {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .equipments .equipment .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-equipment .equipments .equipment .rollable:focus {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment .rollable:hover,
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .equipments .equipment .controls {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .equipments .equipment .name {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .equipments .equipment .item-img {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment prose-mirror.inactive {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment prose-mirror.active {
|
||||
.fvtt-hellborn .tab.character-equipment .main-div prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-biography .main-div {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-biography .main-div legend a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-biography .main-div prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-biography .main-div prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
.fvtt-hellborn .vehicle-content {
|
||||
@@ -2021,6 +1771,198 @@ i.fvtt-ftl-nomad {
|
||||
.fvtt-hellborn .armor-content label {
|
||||
flex: 10%;
|
||||
}
|
||||
.fvtt-hellborn .deal-content {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
color: var(--color-dark-1);
|
||||
background-image: var(--background-image-base);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.fvtt-hellborn .deal-content input:disabled,
|
||||
.fvtt-hellborn .deal-content select:disabled {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
border-color: transparent;
|
||||
color: var(--color-dark-3);
|
||||
}
|
||||
.fvtt-hellborn .deal-content input,
|
||||
.fvtt-hellborn .deal-content select {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border-color: var(--color-dark-6);
|
||||
color: var(--color-dark-2);
|
||||
}
|
||||
.fvtt-hellborn .deal-content input[name="name"] {
|
||||
height: 40px;
|
||||
margin-right: 10px;
|
||||
font-family: var(--font-title);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
margin-top: 4px;
|
||||
}
|
||||
.fvtt-hellborn .deal-content fieldset {
|
||||
margin-bottom: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.fvtt-hellborn .deal-content .form-fields input,
|
||||
.fvtt-hellborn .deal-content .form-fields select {
|
||||
text-align: center;
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-hellborn .deal-content .form-fields select {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-hellborn .deal-content legend {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-weight: bold;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.fvtt-hellborn .deal-content .form-fields {
|
||||
padding-top: 4px;
|
||||
}
|
||||
.fvtt-hellborn .deal-content label {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
flex: 50%;
|
||||
}
|
||||
.fvtt-hellborn .deal-content .align-top {
|
||||
align-self: flex-start;
|
||||
padding: 0.1rem;
|
||||
margin-right: 0.2rem;
|
||||
}
|
||||
.fvtt-hellborn .deal-content .shift-right {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.fvtt-hellborn .deal-content fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
}
|
||||
.fvtt-hellborn .deal-content fieldset .form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-hellborn .deal-content fieldset .form-group.long-input input {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
text-align: left;
|
||||
}
|
||||
.fvtt-hellborn .deal-content fieldset .form-group input {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .deal-content fieldset .form-group select {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .deal-content .header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-hellborn .deal-content .header img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
.fvtt-hellborn .deal-content label {
|
||||
flex: 10%;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
color: var(--color-dark-1);
|
||||
background-image: var(--background-image-base);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content input:disabled,
|
||||
.fvtt-hellborn .tarot-content select:disabled {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
border-color: transparent;
|
||||
color: var(--color-dark-3);
|
||||
}
|
||||
.fvtt-hellborn .tarot-content input,
|
||||
.fvtt-hellborn .tarot-content select {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border-color: var(--color-dark-6);
|
||||
color: var(--color-dark-2);
|
||||
}
|
||||
.fvtt-hellborn .tarot-content input[name="name"] {
|
||||
height: 40px;
|
||||
margin-right: 10px;
|
||||
font-family: var(--font-title);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
margin-top: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset {
|
||||
margin-bottom: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content .form-fields input,
|
||||
.fvtt-hellborn .tarot-content .form-fields select {
|
||||
text-align: center;
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-hellborn .tarot-content .form-fields select {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-hellborn .tarot-content legend {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-weight: bold;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content .form-fields {
|
||||
padding-top: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content label {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
flex: 50%;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content .align-top {
|
||||
align-self: flex-start;
|
||||
padding: 0.1rem;
|
||||
margin-right: 0.2rem;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content .shift-right {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset .form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset .form-group.long-input input {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
text-align: left;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset .form-group input {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset .form-group select {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content .header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content .header img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content label {
|
||||
flex: 10%;
|
||||
}
|
||||
.fvtt-hellborn .ritual-content {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
@@ -2376,6 +2318,23 @@ i.fvtt-ftl-nomad {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
}
|
||||
.fvtt-hellborn .species-trait-content fieldset .form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-hellborn .species-trait-content fieldset .form-group.long-input input {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
text-align: left;
|
||||
}
|
||||
.fvtt-hellborn .species-trait-content fieldset .form-group input {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .species-trait-content fieldset .form-group select {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .species-trait-content .header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
|
||||
@@ -45,6 +45,8 @@ Hooks.once("init", function () {
|
||||
malefica: models.HellbornMalefica,
|
||||
equipment: models.HellbornEquipment,
|
||||
armor: models.HellbornArmor,
|
||||
deal: models.HellbornDeal,
|
||||
tarot: models.HellbornTarot,
|
||||
"species-trait": models.HellbornSpeciesTrait
|
||||
}
|
||||
|
||||
@@ -62,6 +64,8 @@ Hooks.once("init", function () {
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hellborn", applications.HellbornMaleficaSheet, { types: ["malefica"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hellborn", applications.HellbornSpeciesTraitSheet, { types: ["species-trait"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hellborn", applications.HellbornArmorSheet, { types: ["armor"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hellborn", applications.HellbornTarotSheet, { types: ["tarot"], makeDefault: true })
|
||||
foundry.documents.collections.Items.registerSheet("fvtt-hellborn", applications.HellbornDealSheet, { types: ["deal"], makeDefault: true })
|
||||
|
||||
// Other Document Configuration
|
||||
CONFIG.ChatMessage.documentClass = documents.HellbornChatMessage
|
||||
|
||||
55
lang/en.json
55
lang/en.json
@@ -7,8 +7,11 @@
|
||||
"label": "Protection"
|
||||
}
|
||||
},
|
||||
"heroPoints": {
|
||||
"label": "Hero Points"
|
||||
"pronouns": {
|
||||
"label": "Pronouns"
|
||||
},
|
||||
"trait": {
|
||||
"label": "Trait"
|
||||
},
|
||||
"credits": {
|
||||
"label": "Credits"
|
||||
@@ -289,6 +292,29 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Tarot": {
|
||||
"FIELDS": {
|
||||
"description": {
|
||||
"label": "Description"
|
||||
},
|
||||
"bonus": {
|
||||
"label": "Bonus"
|
||||
},
|
||||
"orientation": {
|
||||
"label": "Orientation"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Deal": {
|
||||
"FIELDS": {
|
||||
"description": {
|
||||
"label": "Description"
|
||||
},
|
||||
"promisor": {
|
||||
"label": "Promisor"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Ritual": {
|
||||
"FIELDS": {
|
||||
"cost": {
|
||||
@@ -315,6 +341,23 @@
|
||||
}
|
||||
},
|
||||
"Label": {
|
||||
"trauma": "Trauma",
|
||||
"stats": "Stats",
|
||||
"appearance": "Appearance",
|
||||
"flesh": "Flesh",
|
||||
"skin": "Skin",
|
||||
"heart": "Heart",
|
||||
"mind": "Mind",
|
||||
"soul": "Soul",
|
||||
"Counters": "Counters",
|
||||
"perks": "Perks",
|
||||
"maleficas": "Maleficas",
|
||||
"rituals": "Rituals",
|
||||
"speciesTraits": "Species Traits",
|
||||
"species": "Species",
|
||||
"ailments": "Ailments",
|
||||
"positiveEffect": "Positive Effect",
|
||||
"negativeEffect": "Negative Effect",
|
||||
"damages": "Damages",
|
||||
"modifications": "Modifications",
|
||||
"abilities": "Abilities",
|
||||
@@ -568,11 +611,9 @@
|
||||
"malefica": "Malefica",
|
||||
"perk": "Perk",
|
||||
"weapon": "Weapon",
|
||||
"armor": "Armor"
|
||||
|
||||
|
||||
|
||||
|
||||
"armor": "Armor",
|
||||
"tarot": "Tarot",
|
||||
"deal": "Deal"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,3 +9,5 @@ export { default as HellbornSpeciesTraitSheet } from "./sheets/species-trait-she
|
||||
export { default as HellbornPerkSheet } from "./sheets/perk-sheet.mjs"
|
||||
export { default as HellbornMaleficaSheet } from "./sheets/malefica-sheet.mjs"
|
||||
export { default as HellbornArmorSheet } from "./sheets/armor-sheet.mjs"
|
||||
export { default as HellbornTarotSheet } from "./sheets/tarot-sheet.mjs"
|
||||
export { default as HellbornDealSheet } from "./sheets/deal-sheet.mjs"
|
||||
|
||||
@@ -66,8 +66,7 @@ export default class HellbornActorSheet extends HandlebarsApplicationMixin(found
|
||||
actor: this.document,
|
||||
system: this.document.system,
|
||||
source: this.document.toObject(),
|
||||
isEncumbered: this.document.system.isEncumbered(),
|
||||
enrichedDescription: await TextEditor.enrichHTML(this.document.system.description, { async: true }),
|
||||
enrichedBackstory: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.backstory, { async: true }),
|
||||
isEditMode: this.isEditMode,
|
||||
isPlayMode: this.isPlayMode,
|
||||
isEditable: this.isEditable,
|
||||
@@ -99,7 +98,7 @@ export default class HellbornActorSheet extends HandlebarsApplicationMixin(found
|
||||
dragover: this._onDragOver.bind(this),
|
||||
drop: this._onDrop.bind(this),
|
||||
}
|
||||
return new DragDrop(d)
|
||||
return new foundry.applications.ux.DragDrop.implementation(d)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -15,11 +15,9 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
createEquipment: HellbornCharacterSheet.#onCreateEquipment,
|
||||
createArmor: HellbornCharacterSheet.#onCreateArmor,
|
||||
createWeapon: HellbornCharacterSheet.#onCreateWeapon,
|
||||
createTalent: HellbornCharacterSheet.#onCreateTalent,
|
||||
createImplant: HellbornCharacterSheet.#onCreateImplant,
|
||||
createPsionic: HellbornCharacterSheet.#onCreatePsionic,
|
||||
createLanguage: HellbornCharacterSheet.#onCreateLanguage
|
||||
|
||||
createDeal: HellbornCharacterSheet.#onCreateDeal,
|
||||
createMalefica: HellbornCharacterSheet.#onCreateMalefica,
|
||||
createRitual: HellbornCharacterSheet.#onCreateRitual,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -31,8 +29,11 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
tabs: {
|
||||
template: "templates/generic/tab-navigation.hbs",
|
||||
},
|
||||
talents: {
|
||||
template: "systems/fvtt-hellborn/templates/character-talents.hbs",
|
||||
status: {
|
||||
template: "systems/fvtt-hellborn/templates/character-status.hbs",
|
||||
},
|
||||
maleficas: {
|
||||
template: "systems/fvtt-hellborn/templates/character-maleficas.hbs",
|
||||
},
|
||||
equipment: {
|
||||
template: "systems/fvtt-hellborn/templates/character-equipment.hbs",
|
||||
@@ -44,7 +45,7 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
|
||||
/** @override */
|
||||
tabGroups = {
|
||||
sheet: "talents",
|
||||
sheet: "status",
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -53,7 +54,8 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
*/
|
||||
#getTabs() {
|
||||
const tabs = {
|
||||
talents: { id: "talents", group: "sheet", icon: "fa-solid fa-compass", label: "HELLBORN.Label.talents" },
|
||||
status: { id: "status", group: "sheet", icon: "fa-solid fa-compass", label: "HELLBORN.Label.status" },
|
||||
maleficas: { id: "maleficas", group: "sheet", icon: "fa-solid fa-compass", label: "HELLBORN.Label.maleficas" },
|
||||
equipment: { id: "equipment", group: "sheet", icon: "fa-solid fa-shapes", label: "HELLBORN.Label.equipment" },
|
||||
biography: { id: "biography", group: "sheet", icon: "fa-solid fa-book", label: "HELLBORN.Label.biography" },
|
||||
}
|
||||
@@ -69,28 +71,27 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
const context = await super._prepareContext()
|
||||
context.tabs = this.#getTabs()
|
||||
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true })
|
||||
context.enrichedNotes = await TextEditor.enrichHTML(this.document.system.notes, { async: true })
|
||||
|
||||
return context
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _preparePartContext(partId, context) {
|
||||
const doc = this.document
|
||||
context.systemFields = this.document.system.schema.fields
|
||||
switch (partId) {
|
||||
case "main":
|
||||
break
|
||||
case "talents":
|
||||
context.tab = context.tabs.talents
|
||||
context.talents = doc.itemTypes.talent
|
||||
context.talents.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.implants = doc.itemTypes.implant
|
||||
context.implants.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.psionics = doc.itemTypes.psionic
|
||||
context.psionics.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.languages = doc.itemTypes.language
|
||||
context.languages.sort((a, b) => a.name.localeCompare(b.name))
|
||||
case "status":
|
||||
context.tab = context.tabs.status
|
||||
context.perks = doc.itemTypes.perk
|
||||
context.perks.sort((a, b) => a.name.localeCompare(b.name))
|
||||
break;
|
||||
case "maleficas":
|
||||
context.tab = context.tabs.maleficas
|
||||
context.maleficas = doc.itemTypes.malefica
|
||||
context.maleficas.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.rituals = doc.itemTypes.ritual
|
||||
context.rituals.sort((a, b) => a.name.localeCompare(b.name))
|
||||
break
|
||||
case "equipment":
|
||||
context.tab = context.tabs.equipment
|
||||
@@ -103,8 +104,21 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
break
|
||||
case "biography":
|
||||
context.tab = context.tabs.biography
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(doc.system.description, { async: true })
|
||||
context.enrichedNotes = await TextEditor.enrichHTML(doc.system.notes, { async: true })
|
||||
context.deals = doc.itemTypes.deal
|
||||
context.deals.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.tarot = doc.itemTypes.tarot
|
||||
context.enrichedBackstory = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.backstory, { async: true })
|
||||
context.enrichedAppearance = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.appearance, { async: true })
|
||||
context.enrichedScars = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.scars, { async: true })
|
||||
context.enrichedLikes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.likes, { async: true })
|
||||
context.enrichedDislikes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.dislikes, { async: true })
|
||||
context.enrichedFears = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.fears, { async: true })
|
||||
context.enrichedVices = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.vices, { async: true })
|
||||
context.enrichedGoals = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.goals, { async: true })
|
||||
context.enrichedAmbitions = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.ambitions, { async: true })
|
||||
context.enrichedValues = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.values, { async: true })
|
||||
context.enrichedBonds = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.bonds, { async: true })
|
||||
context.enrichedNotes = await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.notes, { async: true })
|
||||
break
|
||||
}
|
||||
return context
|
||||
@@ -115,6 +129,18 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newEquipment"), type: "equipment" }])
|
||||
}
|
||||
|
||||
static #onCreateDeal(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newDeal"), type: "deal" }])
|
||||
}
|
||||
|
||||
static #onCreateMalefica(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newMalefica"), type: "malefica" }])
|
||||
}
|
||||
|
||||
static #onCreateRitual(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newRitual"), type: "ritual" }])
|
||||
}
|
||||
|
||||
static #onCreateWeapon(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newWeapon"), type: "weapon" }])
|
||||
}
|
||||
@@ -123,21 +149,6 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newArmor"), type: "armor" }])
|
||||
}
|
||||
|
||||
static #onCreateTalent(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newTalent"), type: "talent" }])
|
||||
}
|
||||
|
||||
static #onCreateImplant(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newImplant"), type: "implant" }])
|
||||
}
|
||||
|
||||
static #onCreatePsionic(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newPsionic"), type: "psionic" }])
|
||||
}
|
||||
|
||||
static #onCreateLanguage(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newLanguage"), type: "language" }])
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -158,10 +169,11 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
const rollType = $(event.currentTarget).data("roll-type")
|
||||
let item
|
||||
let li
|
||||
let statKey
|
||||
switch (rollType) {
|
||||
case "skill":
|
||||
let skillId = $(event.currentTarget).data("skill-id");
|
||||
item = this.actor.system.skills[skillId];
|
||||
case "stat":
|
||||
statKey = $(event.currentTarget).data("stat-id");
|
||||
item = this.actor.system.stats[statKey];
|
||||
break
|
||||
case "weapon":
|
||||
case "damage":
|
||||
|
||||
28
module/applications/sheets/deal-sheet.mjs
Normal file
28
module/applications/sheets/deal-sheet.mjs
Normal file
@@ -0,0 +1,28 @@
|
||||
import HellbornItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HellbornDealSheet extends HellbornItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["deal"],
|
||||
position: {
|
||||
width: 600,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["deal-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hellborn/templates/deal.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true })
|
||||
return context
|
||||
}
|
||||
}
|
||||
30
module/applications/sheets/tarot-sheet.mjs
Normal file
30
module/applications/sheets/tarot-sheet.mjs
Normal file
@@ -0,0 +1,30 @@
|
||||
import HellbornItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class HellbornTarotSheet extends HellbornItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["tarot"],
|
||||
position: {
|
||||
width: 800,
|
||||
height: 640
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["tarot-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-hellborn/templates/tarot.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.enrichedPositiveEffect = await TextEditor.enrichHTML(this.document.system.positiveEffect, { async: true })
|
||||
context.enrichedNegativeEffect = await TextEditor.enrichHTML(this.document.system.negativeEffect, { async: true })
|
||||
return context
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,30 @@ export const ASCII = `
|
||||
|
||||
`
|
||||
|
||||
export const AILMENTS = {
|
||||
"bleeding": { id: "bleeding", label: "Bleeding" },
|
||||
"blinded": { id: "blinded", label: "Blinded" },
|
||||
"burning": { id: "burning", label: "Burning" },
|
||||
"dazed": { id: "dazed", label: "Dazed" },
|
||||
"deafened": { id: "deafened", label: "Deafened" },
|
||||
"exposes": { id: "exposed", label: "Exposed" },
|
||||
"mortally": { id: "mortal", label: "Mortal" },
|
||||
"muted": { id: "muted", label: "Muted" },
|
||||
"prone": { id: "prone", label: "Prone" },
|
||||
"immobilized": { id: "immobilized", label: "Immobile" },
|
||||
"shaken": { id: "shaken", label: "Shaken" },
|
||||
"stunned": { id: "stunned", label: "Stunned" },
|
||||
"winded": { id: "winded", label: "Winded" }
|
||||
}
|
||||
|
||||
export const STATS = {
|
||||
"flesh": { id: "flesh", label: "Flesh" },
|
||||
"skin": { id: "skin", label: "Skin" },
|
||||
"heart": { id: "heart", label: "Heart" },
|
||||
"mind": { id: "mind", label: "Mind" },
|
||||
"soul": { id: "soul", label: "Soul" }
|
||||
}
|
||||
|
||||
export const PERK_ROLES = {
|
||||
"abbetor": { id: "abbetor", label: "Abbetor" },
|
||||
"blade": { id: "blade", label: "Blade" },
|
||||
@@ -68,47 +92,6 @@ export const ATTACK_MODIFIERS = {
|
||||
"aware": -1
|
||||
}
|
||||
|
||||
export const TRIAGE_RESULTS = {
|
||||
"none": { id: "none", dice:0, label: "HELLBORN.TriageResults.None" },
|
||||
"death": { id: "death", dice:3, label: "HELLBORN.TriageResults.Death" },
|
||||
"critical": { id: "critical", dice:4, label: "HELLBORN.TriageResults.Critical" },
|
||||
"severe": { id: "severe", dice:7, label: "HELLBORN.TriageResults.Severe" },
|
||||
"moderate": { id: "moderate", dice:10, label: "HELLBORN.TriageResults.Moderate" },
|
||||
"fleshwound": { id: "fleshwound", dice:12, label: "HELLBORN.TriageResults.FleshWound" }
|
||||
}
|
||||
|
||||
export const CREATURE_TERRAIN_TYPES = {
|
||||
"cave": { id: "cave", label: "HELLBORN.Creature.Terrain.Cave", niche:0, size: 0 },
|
||||
"coast": { id: "coast", label: "HELLBORN.Creature.Terrain.Coast", niche:1, size: 0 },
|
||||
"desert": { id: "desert", label: "HELLBORN.Creature.Terrain.Desert", niche:-1, size: -1 },
|
||||
"forest": { id: "forest", label: "HELLBORN.Creature.Terrain.Forest", niche:1, size: 1 },
|
||||
"jungle": { id: "jungle", label: "HELLBORN.Creature.Terrain.Jungle", niche:1, size: 1 },
|
||||
"mixed": { id: "mixed", label: "HELLBORN.Creature.Terrain.Mixed", niche:0, size: 0 },
|
||||
"mountain": { id: "mountain", label: "HELLBORN.Creature.Terrain.Mountain", niche:-1, size: -1 },
|
||||
"ocean": { id: "ocean", label: "HELLBORN.Creature.Terrain.Ocean", niche:-1, size: 1 },
|
||||
"river": { id: "river", label: "HELLBORN.Creature.Terrain.River", niche:1, size: 0 },
|
||||
"ruins": { id: "ruins", label: "HELLBORN.Creature.Terrain.Ruins", niche:0, size: 1 },
|
||||
"savannah": { id: "savannah", label: "HELLBORN.Creature.Terrain.Savannah", niche:0, size: 1 },
|
||||
"shallows": { id: "shallows", label: "HELLBORN.Creature.Terrain.Shallows", niche:1, size: 0 },
|
||||
"swamp": { id: "swamp", label: "HELLBORN.Creature.Terrain.Swamp", niche:1, size: 1 }
|
||||
}
|
||||
|
||||
export const CREATURE_NICHES = {
|
||||
"prey": { id: "prey", label: "HELLBORN.Creature.Niche.Prey" },
|
||||
"opportunist": { id: "opportunist", label: "HELLBORN.Creature.Niche.Opportunist" },
|
||||
"herbivore": { id: "herbivore", label: "HELLBORN.Creature.Niche.Herbivore" },
|
||||
"predator": { id: "predator", label: "HELLBORN.Creature.Niche.Predator" }
|
||||
}
|
||||
|
||||
export const CREATURE_SIZES = {
|
||||
"tiny": { id: "tiny", label: "HELLBORN.Creature.Size.Tiny" },
|
||||
"small": { id: "small", label: "HELLBORN.Creature.Size.Small" },
|
||||
"medium": { id: "medium", label: "HELLBORN.Creature.Size.Medium" },
|
||||
"large": { id: "large", label: "HELLBORN.Creature.Size.Large" },
|
||||
"giant": { id: "giant", label: "HELLBORN.Creature.Size.Giant" },
|
||||
"titanic": { id: "titanic", label: "HELLBORN.Creature.Size.Titanic" }
|
||||
}
|
||||
|
||||
export const MODIFIER_CHOICES = {
|
||||
"easy": { id: "easy", label: "HELLBORN.Label.Easy", value :"1" },
|
||||
"moderate": { id: "moderate", label: "HELLBORN.Label.Moderate", value: "0" },
|
||||
@@ -117,24 +100,14 @@ export const MODIFIER_CHOICES = {
|
||||
"impossible": { id: "impossible", label: "HELLBORN.Label.Impossible", value: "-4" }
|
||||
}
|
||||
|
||||
export const STARSHIP_HULL = {
|
||||
"pod": { id: "pod", label: "HELLBORN.Starship.Hull.Pod" },
|
||||
"micro": { id: "micro", label: "HELLBORN.Starship.Hull.Micro" },
|
||||
"small": { id: "small", label: "HELLBORN.Starship.Hull.Small" },
|
||||
"scout": { id: "scout", label: "HELLBORN.Starship.Hull.Scout" },
|
||||
"picket": { id: "picket", label: "HELLBORN.Starship.Hull.Picket" },
|
||||
"destroyer": { id: "destroyer", label: "HELLBORN.Starship.Hull.Destroyer" },
|
||||
"cruiser": { id: "cruiser", label: "HELLBORN.Starship.Hull.Cruiser" },
|
||||
"battleship": { id: "battleship", label: "HELLBORN.Starship.Hull.Battleship" },
|
||||
"carrier": { id: "carrier", label: "HELLBORN.Starship.Hull.Carrier" }
|
||||
}
|
||||
|
||||
/**
|
||||
* Include all constant definitions within the SYSTEM global export
|
||||
* @type {Object}
|
||||
*/
|
||||
export const SYSTEM = {
|
||||
id: SYSTEM_ID,
|
||||
AILMENTS,
|
||||
STATS,
|
||||
PERK_ROLES,
|
||||
PERK_LEVELS,
|
||||
MALEFICA_LEVELS,
|
||||
@@ -143,10 +116,5 @@ export const SYSTEM = {
|
||||
ATTACK_MODIFIERS,
|
||||
WEAPON_TYPES,
|
||||
RANGED_SUBTYPES,
|
||||
TRIAGE_RESULTS,
|
||||
CREATURE_TERRAIN_TYPES,
|
||||
CREATURE_SIZES,
|
||||
CREATURE_NICHES,
|
||||
STARSHIP_HULL,
|
||||
ASCII
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ export const defaultItemImg = {
|
||||
perk: "systems/fvtt-hellborn/assets/icons/perk.webp",
|
||||
"species-trait": "systems/fvtt-hellborn/assets/icons/species-trait.webp",
|
||||
armor: "systems/fvtt-hellborn/assets/icons/armor.webp",
|
||||
deal: "systems/fvtt-hellborn/assets/icons/deal.webp",
|
||||
tarot: "systems/fvtt-hellborn/assets/icons/tarot.webp",
|
||||
}
|
||||
|
||||
export default class HellbornItem extends Item {
|
||||
|
||||
@@ -8,3 +8,5 @@ export { default as HellbornMalefica } from "./malefica.mjs"
|
||||
export { default as HellbornSpeciesTrait } from "./species-trait.mjs"
|
||||
export { default as HellbornWeapon } from "./weapon.mjs"
|
||||
export { default as HellbornArmor } from "./armor.mjs"
|
||||
export { default as HellbornTarot } from "./tarot.mjs"
|
||||
export { default as HellbornDeal } from "./deal.mjs"
|
||||
|
||||
@@ -7,51 +7,100 @@ export default class HellbornActor extends foundry.abstract.TypeDataModel {
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
const schema = {}
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
|
||||
// Ailments
|
||||
const ailmentField = (label) => {
|
||||
const schema = {
|
||||
enabled: new fields.BooleanField({ required: true, initial: false }),
|
||||
label: new fields.StringField({ required: true, initial: label })
|
||||
}
|
||||
return new fields.SchemaField(schema, { label })
|
||||
}
|
||||
schema.ailments = new fields.SchemaField(
|
||||
Object.values(SYSTEM.AILMENTS).reduce((obj, ailment) => {
|
||||
obj[ailment.id] = ailmentField(ailment.label)
|
||||
return obj
|
||||
}, {}),
|
||||
)
|
||||
|
||||
// Stats
|
||||
const statField = (label) => {
|
||||
const schema = {
|
||||
label: new fields.StringField({ required: true, initial: label }),
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
|
||||
}
|
||||
return new fields.SchemaField(schema, { label })
|
||||
}
|
||||
schema.stats = new fields.SchemaField(
|
||||
Object.values(SYSTEM.STATS).reduce((obj, stat) => {
|
||||
obj[stat.id] = statField(stat.label)
|
||||
return obj
|
||||
}, {}),
|
||||
)
|
||||
|
||||
schema.backstory = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.appearance = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.scars = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.likes = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.dislikes = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.fears = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.vices = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.goals = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.ambitions = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.values = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.bonds = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.notes = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.name = new fields.StringField({ required: true, nullable: false, initial: "" })
|
||||
|
||||
schema.pronouns = new fields.StringField({ required: true, nullable: false, initial: "" })
|
||||
schema.species = new fields.StringField({ required: true, nullable: false, initial: "" })
|
||||
schema.trait = new fields.StringField({ required: true, nullable: false, initial: "" })
|
||||
schema.upright = new fields.StringField({ required: true, nullable: false, initial: "" })
|
||||
schema.reversed = new fields.StringField({ required: true, nullable: false, initial: "" })
|
||||
|
||||
schema.heroPoints = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
|
||||
schema.health = new fields.SchemaField({
|
||||
staminaValue: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
staminaMax: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
wounds: new fields.NumberField({ ...requiredInteger, initial:0, min: 0 }),
|
||||
triageResults: new fields.StringField({ required: true, nullable: false, initial: "none", choices: SYSTEM.TRIAGE_RESULTS })
|
||||
schema.mortality = new fields.SchemaField({
|
||||
current: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
})
|
||||
|
||||
schema.enc = new fields.SchemaField({
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
schema.trauma = new fields.SchemaField({
|
||||
current: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
})
|
||||
|
||||
schema.armor = new fields.SchemaField({
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
schema.darkness = new fields.SchemaField({
|
||||
current: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
})
|
||||
|
||||
schema.credits = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
schema.rank = new fields.SchemaField({
|
||||
experienced: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 5 }),
|
||||
expert: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 5 }),
|
||||
veteran: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 5 }),
|
||||
elite: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 5 }),
|
||||
legend: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 5 })
|
||||
schema.defense = new fields.SchemaField({
|
||||
base: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
bonus: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
total: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
resistance: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
})
|
||||
|
||||
schema.movement = new fields.SchemaField({
|
||||
base: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
reduce: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
})
|
||||
|
||||
schema.experience = new fields.SchemaField({
|
||||
training: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
current: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
total: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
})
|
||||
|
||||
schema.biodata = new fields.SchemaField({
|
||||
age: new fields.NumberField({ ...requiredInteger, initial: 15, min: 6 }),
|
||||
height: new fields.NumberField({ ...requiredInteger, initial: 170, min: 50 }),
|
||||
weight: new fields.NumberField({ ...requiredInteger, initial: 70, min: 1 }),
|
||||
gender: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
home: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
birthplace: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
eyes: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
hair: new fields.StringField({ required: true, nullable: false, initial: "" })
|
||||
home: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
weight: new fields.NumberField({ ...requiredInteger, initial: 70, min: 1 }),
|
||||
apparentAge: new fields.NumberField({ ...requiredInteger, initial: 20, min: 1 }),
|
||||
chronologicalAge: new fields.NumberField({ ...requiredInteger, initial: 20, min: 1 }),
|
||||
dod: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
soul: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
aliases: new fields.StringField({ required: true, nullable: false, initial: "" })
|
||||
})
|
||||
|
||||
return schema
|
||||
@@ -65,10 +114,6 @@ export default class HellbornActor extends foundry.abstract.TypeDataModel {
|
||||
|
||||
}
|
||||
|
||||
isEncumbered() {
|
||||
return this.enc.value > this.enc.max
|
||||
}
|
||||
|
||||
/** */
|
||||
/**
|
||||
* Rolls a dice for a character.
|
||||
|
||||
16
module/models/deal.mjs
Normal file
16
module/models/deal.mjs
Normal file
@@ -0,0 +1,16 @@
|
||||
import { SYSTEM } from "../config/system.mjs";
|
||||
|
||||
export default class HellbornDeal extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
const schema = {};
|
||||
|
||||
schema.promisor = new fields.StringField({ required: true, initial: "" });
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
|
||||
return schema;
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static LOCALIZATION_PREFIXES = ["HELLBORN.Deal"];
|
||||
}
|
||||
22
module/models/tarot.mjs
Normal file
22
module/models/tarot.mjs
Normal file
@@ -0,0 +1,22 @@
|
||||
import { SYSTEM } from "../config/system.mjs";
|
||||
|
||||
export default class HellbornTarot extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
const schema = {};
|
||||
|
||||
schema.orientation = new fields.StringField({ required: true, initial: "Upright", choices: {"Upright": {label: "Upright"}, "Reversed": {label: "Reversed"}} });
|
||||
schema.positiveEffect = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.negativeEffect = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.image = new fields.FilePathField({
|
||||
required: false,
|
||||
categories: ["IMAGE"],
|
||||
default: "icons/svg/treasure.svg",
|
||||
})
|
||||
|
||||
return schema;
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static LOCALIZATION_PREFIXES = ["HELLBORN.Tarot"];
|
||||
}
|
||||
@@ -57,17 +57,6 @@
|
||||
flex: none;
|
||||
}
|
||||
}
|
||||
/*.character-dmax-edit {
|
||||
input {
|
||||
display: flex;
|
||||
width: 60px;
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 5px 0 5px;
|
||||
text-align: center;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
.character-right {
|
||||
@@ -75,17 +64,19 @@
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
|
||||
.character-spec {
|
||||
label {
|
||||
max-width: 6rem;
|
||||
.character-definition {
|
||||
.form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.hero-armor {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
input {
|
||||
max-width: 3rem;
|
||||
}
|
||||
label {
|
||||
max-width: 4rem;
|
||||
}
|
||||
input {
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
margin-bottom: auto;
|
||||
}
|
||||
}
|
||||
.character-name {
|
||||
@@ -110,17 +101,17 @@
|
||||
min-width: 500px;
|
||||
}
|
||||
|
||||
.character-skills {
|
||||
.character-stats {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
flex: 1;
|
||||
|
||||
.character-skill {
|
||||
.character-stat {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.icon-skill {
|
||||
.icon-stat {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 4px;
|
||||
@@ -131,98 +122,26 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
.rollable {
|
||||
min-width: 4.5rem;
|
||||
max-width: 4.5rem;
|
||||
min-width: 3.5rem;
|
||||
max-width: 3.5rem;
|
||||
}
|
||||
.char-text {
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
.d100 {
|
||||
flex: 0;
|
||||
max-width: 0.6rem;
|
||||
}
|
||||
.form-group {
|
||||
flex: 0;
|
||||
padding-left: 5px;
|
||||
.form-fields {
|
||||
font-size: 1.1rem;
|
||||
flex: none;
|
||||
width: 40px;
|
||||
}
|
||||
input {
|
||||
min-width: 2.5rem;
|
||||
max-width: 2.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.character-skill-play {
|
||||
min-width: 225px;
|
||||
.character-stats-play {
|
||||
min-width:120px;
|
||||
}
|
||||
|
||||
.character-skill-edit {
|
||||
min-width: 225px;
|
||||
.character-stats-edit {
|
||||
min-width: 120px;
|
||||
}
|
||||
}
|
||||
|
||||
.character-biography {
|
||||
background-color: var(--color-light-1);
|
||||
prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
.field-label {
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.rank {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
gap: 8px;
|
||||
label {
|
||||
min-width: 6rem;
|
||||
}
|
||||
input {
|
||||
max-width: 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
.biodata {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 8px;
|
||||
label {
|
||||
min-width: 12rem;
|
||||
}
|
||||
}
|
||||
|
||||
.resources {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 8px;
|
||||
label {
|
||||
min-width: 8rem;
|
||||
}
|
||||
}
|
||||
|
||||
.features,
|
||||
.biodata {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 8px;
|
||||
label {
|
||||
min-width: 3rem;
|
||||
}
|
||||
.feature {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab.character-skills {
|
||||
.tab.character-status .main-div {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
@@ -232,11 +151,44 @@
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
.skills {
|
||||
.counters {
|
||||
display: flex;
|
||||
direction: column;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
input {
|
||||
min-width: 2.5rem;
|
||||
max-width: 2.5rem;
|
||||
}
|
||||
}
|
||||
.ailments {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
gap: 4px;
|
||||
.ailment {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
label {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.perks {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 4px;
|
||||
.skill {
|
||||
.perk {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
@@ -270,7 +222,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.tab.character-status {
|
||||
.tab.character-maleficas .main-div {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
@@ -281,11 +233,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
.bonds {
|
||||
.maleficas {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.bond {
|
||||
.malefica {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
@@ -316,11 +268,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
.motivations {
|
||||
.rituals {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.motivation {
|
||||
.ritual {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
@@ -343,66 +295,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
.mentaldisorders {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.mentaldisorder {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.cured {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.injuries {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.injury {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab.character-talents {
|
||||
|
||||
.tab.character-equipment .main-div {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
@@ -413,176 +309,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.talents {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.talent {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.languages {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.language {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.psionics {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.psionic {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.tab.character-equipment {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
legend {
|
||||
a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
.encumbrance {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 4px;
|
||||
input {
|
||||
max-width: 4rem;
|
||||
}
|
||||
.encumbered {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.implants {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.implant {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.weapons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
@@ -689,3 +415,22 @@
|
||||
min-height: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
.tab.character-biography .main-div {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
legend {
|
||||
a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
39
styles/deal.less
Normal file
39
styles/deal.less
Normal file
@@ -0,0 +1,39 @@
|
||||
.deal-content {
|
||||
.sheet-common();
|
||||
.item-sheet-common();
|
||||
|
||||
fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
.form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.form-group.long-input input {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
text-align: left;
|
||||
}
|
||||
.form-group input {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.form-group select {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
flex: 10%;
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,8 @@
|
||||
@import "weapon.less";
|
||||
@import "equipment.less";
|
||||
@import "armor.less";
|
||||
@import "deal.less";
|
||||
@import "tarot.less";
|
||||
@import "ritual.less";
|
||||
@import "perk.less";
|
||||
@import "malefica.less";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
--font-size-standard: 0.9rem;
|
||||
--font-size-result: 1.4rem;
|
||||
--background-image-base: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)),
|
||||
url("../assets/ui/ftl_nomad_background_01.webp");
|
||||
url("../assets/ui/sheet_background_01.webp");
|
||||
--font-primary: "MinionProRegular";
|
||||
--font-secondary: "MinionProRegular";
|
||||
--font-title: "SupernaturalKnight";
|
||||
@@ -16,16 +16,6 @@
|
||||
--color-critical-failure: rgb(141, 32, 231);
|
||||
}
|
||||
|
||||
.d100 {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
color: black;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
.item .thumbnail,
|
||||
.item-img {
|
||||
}
|
||||
|
||||
#logo {
|
||||
content: var(--logo-standard);
|
||||
@@ -34,15 +24,19 @@
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
nav.tabs [data-tab] {
|
||||
color: var(--title-color);
|
||||
}
|
||||
|
||||
#pause > img {
|
||||
content: var(--logo-standard);
|
||||
height: 192px;
|
||||
height: 256px;
|
||||
width: 256px;
|
||||
top: -45px;
|
||||
left: calc(50% - 96px);
|
||||
}
|
||||
|
||||
i.fvtt-ftl-nomad {
|
||||
i.fvtt-hellborn {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
background-image: var(--logo-standard);
|
||||
@@ -55,7 +49,7 @@ i.fvtt-ftl-nomad {
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.application.dialog.fvtt-ftl-nomad {
|
||||
.application.dialog.fvtt-hellborn {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1.0);
|
||||
background-image: var(--background-image-base);
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.form-group label {
|
||||
}
|
||||
.form-group.long-input input {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
|
||||
@@ -5,6 +5,23 @@
|
||||
fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
.form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.form-group.long-input input {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
text-align: left;
|
||||
}
|
||||
.form-group input {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.form-group select {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
}
|
||||
|
||||
.header {
|
||||
|
||||
39
styles/tarot.less
Normal file
39
styles/tarot.less
Normal file
@@ -0,0 +1,39 @@
|
||||
.tarot-content {
|
||||
.sheet-common();
|
||||
.item-sheet-common();
|
||||
|
||||
fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
.form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.form-group.long-input input {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
text-align: left;
|
||||
}
|
||||
.form-group input {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.form-group select {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
flex: 10%;
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@
|
||||
],
|
||||
"documentTypes": {
|
||||
"Actor": {
|
||||
"character": { "htmlFields": ["description", "notes"] },
|
||||
"character": { "htmlFields": ["backstory", "notes", "appearance", "scars", "likes", "dislikes", "fears", "vices", "goals", "ammbitions", "values", "bonds"] },
|
||||
"monster": { "htmlFields": ["description", "notes"] },
|
||||
"vehicle": { "htmlFields": ["description", "notes"] }
|
||||
},
|
||||
@@ -44,7 +44,9 @@
|
||||
"equipment": { "htmlFields": ["description"] },
|
||||
"malefica": { "htmlFields": ["description"] },
|
||||
"species-trait": { "htmlFields": ["description"] },
|
||||
"ritual": { "htmlFields": ["description"] }
|
||||
"ritual": { "htmlFields": ["description"] },
|
||||
"tarot": { "htmlFields": ["description"] },
|
||||
"deal": { "htmlFields": ["description"] }
|
||||
}
|
||||
},
|
||||
"packs": [
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
|
||||
<div class="main-div">
|
||||
<fieldset class="rank">
|
||||
<legend>Rank</legend>
|
||||
{{formField systemFields.rank.fields.experienced value=system.rank.experienced type="number" rootId=partId disabled=isPlayMode}}
|
||||
{{formField systemFields.rank.fields.expert value=system.rank.expert type="number" rootId=partId disabled=isPlayMode}}
|
||||
{{formField systemFields.rank.fields.veteran value=system.rank.veteran type="number" rootId=partId disabled=isPlayMode}}
|
||||
{{formField systemFields.rank.fields.elite value=system.rank.elite type="number" rootId=partId disabled=isPlayMode}}
|
||||
{{formField systemFields.rank.fields.legend value=system.rank.legend type="number" rootId=partId disabled=isPlayMode}}
|
||||
<legend>Experience</legend>
|
||||
{{formField systemFields.experience.fields.current value=system.experience.current type="number" rootId=partId disabled=isPlayMode}}
|
||||
{{formField systemFields.experience.fields.max value=system.experience.max type="number" rootId=partId disabled=isPlayMode}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="biodata">
|
||||
@@ -23,12 +20,12 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
|
||||
{{formInput systemFields.backstory enriched=enrichedBackstory value=system.backstory name="system.backstory" toggled=true}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.notes"}}</legend>
|
||||
{{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}}
|
||||
<legend>{{localize "HELLBORN.Label.appearance"}}</legend>
|
||||
{{formInput systemFields.appearance enriched=enrichedAppearance value=system.appearance name="system.appearance" toggled=true}}
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@@ -1,15 +1,5 @@
|
||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
|
||||
<fieldset class="encumbrance">
|
||||
{{#if isEncumbered}}
|
||||
{{formField systemFields.enc.fields.value value=system.enc.value rootId=partId disabled=true classes="encumbered"}}
|
||||
{{else }}
|
||||
{{formField systemFields.enc.fields.value value=system.enc.value rootId=partId disabled=true}}
|
||||
{{/if}}
|
||||
{{formField systemFields.enc.fields.max value=system.enc.max rootId=partId disabled=isPlayMode}}
|
||||
{{formField systemFields.credits value=system.credits rootId=partId }}
|
||||
</fieldset>
|
||||
|
||||
<div class="main-div">
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.weapons"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
|
||||
@@ -65,40 +55,6 @@
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.implants"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addTalent"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createImplant"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="implants">
|
||||
{{#each implants as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="implant item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
|
||||
<div class="name" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
||||
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
|
||||
<a class="damage rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage"
|
||||
data-roll-value="{{item.system.damage}}">
|
||||
{{#if item.system.isAdvantage}}
|
||||
<i data-tooltip="Provides advantage" class="fas fa-circle-chevron-up"></i>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.equipments"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
|
||||
@@ -122,5 +78,5 @@
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@@ -9,13 +9,8 @@
|
||||
data-tooltip="{{actor.name}}" />
|
||||
</div>
|
||||
<fieldset class="character-hp">
|
||||
<legend>{{localize "HELLBORN.Label.Stamina"}}</legend>
|
||||
<legend>{{localize "HELLBORN.Label.trauma"}}</legend>
|
||||
<div class="flexrow">
|
||||
{{formField systemFields.health.fields.staminaValue value=system.health.staminaValue}}
|
||||
{{formField systemFields.health.fields.staminaMax value=system.health.staminaMax rootId=partId disabled=true}}
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{formField systemFields.health.fields.wounds value=system.health.wounds }}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
@@ -28,13 +23,15 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<fieldset class="character-spec">
|
||||
{{formField systemFields.concept value=system.concept rootId=partId disabled=isPlayMode}}
|
||||
{{formField systemFields.species value=system.species rootId=partId disabled=isPlayMode}}
|
||||
{{formField systemFields.archetype value=system.archetype rootId=partId disabled=isPlayMode}}
|
||||
<div class="hero-armor">
|
||||
{{formField systemFields.heroPoints value=system.heroPoints rootId=partId }}
|
||||
{{formField systemFields.armor.fields.value value=system.armor.value rootId=partId disabled=isPlayMode}}
|
||||
<fieldset class="character-definition">
|
||||
<div class="flexcol">
|
||||
{{formField systemFields.pronouns value=system.pronouns rootId=partId disabled=isPlayMode}}
|
||||
</div>
|
||||
<div class="flexcol">
|
||||
{{formField systemFields.species value=system.species rootId=partId disabled=isPlayMode}}
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{formField systemFields.trait value=system.trait rootId=partId disabled=isPlayMode}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
@@ -42,58 +39,33 @@
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="character-skills character-skills-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<legend>{{localize "HELLBORN.Label.skills"}}</legend>
|
||||
<div class="character-skill">
|
||||
<img src="systems/fvtt-ftl-nomad/assets/icons/icon_combat.svg" class="icon-skill" />
|
||||
<label class="rollable" data-roll-type="skill" data-skill-id="combat">{{localize
|
||||
"HELLBORN.Label.combat"}}</label>
|
||||
{{formInput systemFields.skills.fields.combat.fields.value value=system.skills.combat.value rootId=partId disabled=isPlayMode type="number" }}
|
||||
<fieldset class="character-stats character-stats-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<legend>{{localize "HELLBORN.Label.stats"}}</legend>
|
||||
<div class="character-stat">
|
||||
<label class="rollable" data-roll-type="stat" data-skill-id="flesh">{{localize
|
||||
"HELLBORN.Label.flesh"}}</label>
|
||||
{{formInput systemFields.stats.fields.flesh.fields.value value=system.stats.flesh.value rootId=partId disabled=isPlayMode type="number" }}
|
||||
</div>
|
||||
<div class="character-skill">
|
||||
<img src="systems/fvtt-ftl-nomad/assets/icons/icon_knowledge.svg" class="icon-skill" />
|
||||
<label class="rollable" data-roll-type="skill" data-skill-id="knowledge">{{localize
|
||||
"HELLBORN.Label.knowledge"}}</label>
|
||||
{{formInput systemFields.skills.fields.knowledge.fields.value value=system.skills.knowledge.value
|
||||
rootId=partId disabled=isPlayMode type="number"}}
|
||||
<div class="character-stat">
|
||||
<label class="rollable" data-roll-type="stat" data-skill-id="skin">{{localize
|
||||
"HELLBORN.Label.skin"}}</label>
|
||||
{{formInput systemFields.stats.fields.skin.fields.value value=system.stats.skin.value rootId=partId disabled=isPlayMode type="number" }}
|
||||
</div>
|
||||
<div class="character-skill">
|
||||
<img src="systems/fvtt-ftl-nomad/assets/icons/icon_social.svg" class="icon-skill" />
|
||||
<label class="rollable" data-roll-type="skill" data-skill-id="social">{{localize
|
||||
"HELLBORN.Label.social"}}</label>
|
||||
{{formInput systemFields.skills.fields.social.fields.value value=system.skills.social.value
|
||||
rootId=partId disabled=isPlayMode type="number"}}
|
||||
<div class="character-stat">
|
||||
<label class="rollable" data-roll-type="stat" data-skill-id="heart">{{localize
|
||||
"HELLBORN.Label.heart"}}</label>
|
||||
{{formInput systemFields.stats.fields.heart.fields.value value=system.stats.heart.value rootId=partId disabled=isPlayMode type="number" }}
|
||||
</div>
|
||||
<div class="character-skill">
|
||||
<img src="systems/fvtt-ftl-nomad/assets/icons/icon_physical.svg" class="icon-skill" />
|
||||
<label class="rollable" data-roll-type="skill" data-skill-id="physical">{{localize
|
||||
"HELLBORN.Label.physical"}}</label>
|
||||
{{formInput systemFields.skills.fields.physical.fields.value value=system.skills.physical.value
|
||||
rootId=partId disabled=isPlayMode type="number"}}
|
||||
<div class="character-stat">
|
||||
<label class="rollable" data-roll-type="stat" data-skill-id="mind">{{localize
|
||||
"HELLBORN.Label.mind"}}</label>
|
||||
{{formInput systemFields.stats.fields.mind.fields.value value=system.stats.mind.value rootId=partId disabled=isPlayMode type="number" }}
|
||||
</div>
|
||||
<div class="character-skill">
|
||||
<img src="systems/fvtt-ftl-nomad/assets/icons/icon_stealth.svg" class="icon-skill" />
|
||||
<label class="rollable" data-roll-type="skill" data-skill-id="stealth">{{localize
|
||||
"HELLBORN.Label.stealth"}}</label>
|
||||
{{formInput systemFields.skills.fields.stealth.fields.value value=system.skills.stealth.value
|
||||
rootId=partId disabled=isPlayMode type="number"}}
|
||||
</div>
|
||||
<div class="character-skill">
|
||||
<img src="systems/fvtt-ftl-nomad/assets/icons/icon_vehicles.svg" class="icon-skill" />
|
||||
<label class="rollable" data-roll-type="skill" data-skill-id="vehicles">{{localize
|
||||
"HELLBORN.Label.vehicles"}}</label>
|
||||
{{formInput systemFields.skills.fields.vehicles.fields.value value=system.skills.vehicles.value
|
||||
rootId=partId disabled=isPlayMode type="number"}}
|
||||
</div>
|
||||
<div class="character-skill">
|
||||
<img src="systems/fvtt-ftl-nomad/assets/icons/icon_technology.svg" class="icon-skill" />
|
||||
<label class="rollable" data-roll-type="skill" data-skill-id="technology">{{localize
|
||||
"HELLBORN.Label.technology"}}</label>
|
||||
{{formInput systemFields.skills.fields.technology.fields.value value=system.skills.technology.value
|
||||
rootId=partId disabled=isPlayMode type="number"}}
|
||||
<div class="character-stat">
|
||||
<label class="rollable" data-roll-type="stat" data-skill-id="soul">{{localize
|
||||
"HELLBORN.Label.soul"}}</label>
|
||||
{{formInput systemFields.stats.fields.soul.fields.value value=system.stats.soul.value rootId=partId disabled=isPlayMode type="number" }}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
56
templates/character-maleficas.hbs
Normal file
56
templates/character-maleficas.hbs
Normal file
@@ -0,0 +1,56 @@
|
||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
<div class="main-div">
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.maleficas"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addMalefica"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createMalefica"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="maleficas">
|
||||
{{#each maleficas as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="malefica item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<!--<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
|
||||
<div class="name" data-roll-type="malefica" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.rituals"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addRitual"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createRitual"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="rituals">
|
||||
{{#each rituals as |item|}}
|
||||
<div class="ritual item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<!--<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
|
||||
<div class="name" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</section>
|
||||
60
templates/character-status.hbs
Normal file
60
templates/character-status.hbs
Normal file
@@ -0,0 +1,60 @@
|
||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
<div class="main-div">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.Counters"}}</legend>
|
||||
<div class="counters">
|
||||
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
|
||||
{{formInput systemFields.trauma.fields.max value=system.trauma.max}}
|
||||
<label> Darkness : </label>{{formInput systemFields.darkness.fields.current value=system.darkness.current}} /
|
||||
{{formInput systemFields.darkness.fields.max value=system.darkness.max}}
|
||||
{{formInput systemFields.darkness.fields.value value=system.darkness.value}}
|
||||
<label> Defense : </label>{{formInput systemFields.defense.fields.base value=system.defense.base}}
|
||||
{{formInput systemFields.defense.fields.bonus value=system.defense.bonus }}
|
||||
{{formInput systemFields.defense.fields.total value=system.defense.total}}
|
||||
{{formInput systemFields.defense.fields.resistance value=system.defense.resistance}}
|
||||
<label> Movement : </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
|
||||
{{formInput systemFields.movement.fields.reduce value=system.defense.reduce }}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.ailments"}}</legend>
|
||||
<div class="ailments">
|
||||
{{#each system.ailments as |item id|}}
|
||||
<div class="ailment " data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="false">
|
||||
<label>{{item.label}}</label> <input type="checkbox" class="checkbox" name="system.ailments.{{id}}.enabled" {{#if item.enabled}} checked {{/if}} >
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.perks"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addPerk"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createPerk"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="perks">
|
||||
{{#each perks as |item|}}
|
||||
<div class="perk item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<!-- <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
|
||||
<div class="name" data-roll-type="perk" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@@ -1,106 +0,0 @@
|
||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.talents"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addTalent"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createTalent"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="talents">
|
||||
{{#each talents as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="talent item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
|
||||
<div class="name" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
||||
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
|
||||
<a class="damage rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage"
|
||||
data-roll-value="{{item.system.damage}}">
|
||||
{{#if item.system.isAdvantage}}
|
||||
<i data-tooltip="Provides advantage" class="fas fa-circle-chevron-up"></i>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.psionics"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addImplant"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createPsionic"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="psionics">
|
||||
{{#each psionics as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="psionic item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
|
||||
<div class="name" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
||||
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
|
||||
<a class="damage rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage"
|
||||
data-roll-value="{{item.system.damage}}">
|
||||
{{#if item.system.isAdvantage}}
|
||||
<i data-tooltip="Provides advantage" class="fas fa-circle-chevron-up"></i>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.languages"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addLanguage"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createLanguage"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="languages">
|
||||
{{#each languages as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="language item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
|
||||
<div class="name" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
||||
<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />
|
||||
<a class="damage rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage"
|
||||
data-roll-value="{{item.system.damage}}">
|
||||
{{#if item.system.isAdvantage}}
|
||||
<i data-tooltip="Provides advantage" class="fas fa-circle-chevron-up"></i>
|
||||
{{else}}
|
||||
{{/if}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
</section>
|
||||
17
templates/deal.hbs
Normal file
17
templates/deal.hbs
Normal file
@@ -0,0 +1,17 @@
|
||||
<section>
|
||||
<div class="header">
|
||||
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
{{formInput fields.name value=source.name}}
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
{{formField systemFields.promisor value=system.promisor localize=true }}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description"
|
||||
toggled=true}}
|
||||
</fieldset>
|
||||
|
||||
</section>
|
||||
28
templates/tarot.hbs
Normal file
28
templates/tarot.hbs
Normal file
@@ -0,0 +1,28 @@
|
||||
<section>
|
||||
<div class="header">
|
||||
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
{{formInput fields.name value=source.name}}
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
{{formField systemFields.orientation value=system.orientation localize=true }}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<div class="flexrow">
|
||||
<div class="flexcol">
|
||||
<legend>{{localize "HELLBORN.Label.positiveEffect"}}</legend>
|
||||
{{formInput systemFields.positiveEffect enriched=enrichedPositiveEffect value=system.positiveEffect name="system.positiveEffect"
|
||||
toggled=true}}
|
||||
<legend>{{localize "HELLBORN.Label.negativeEffect"}}</legend>
|
||||
{{formInput systemFields.negativeEffect enriched=enrichedNegativeEffect value=system.negativeEffect name="system.negativeEffect"
|
||||
toggled=true}}
|
||||
</div>
|
||||
<div>
|
||||
<img src="{{system.image}}" class="item-img" data-edit="image" data-action="editImage" data-tooltip="{{localize "HELLBORN.Label.imageTooltip"}}"/>
|
||||
{{formField systemFields.image value=system.image localize=true }}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</section>
|
||||
Reference in New Issue
Block a user