Update sheets and fix basic bugs
This commit is contained in:
parent
1cc3a0bc21
commit
eaba806fec
@ -0,0 +1 @@
|
||||
,morr,arioch,04.12.2024 14:13,file:///home/morr/.config/libreoffice/4;
|
BIN
assets/docs/Colours used in R20 Sheets (version 3).xlsx
Normal file
BIN
assets/docs/Colours used in R20 Sheets (version 3).xlsx
Normal file
Binary file not shown.
BIN
assets/docs/Cthulhu Eternal Skills Per Era.xlsx
Normal file
BIN
assets/docs/Cthulhu Eternal Skills Per Era.xlsx
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
assets/fonts/georama.woff2
Normal file
BIN
assets/fonts/georama.woff2
Normal file
Binary file not shown.
@ -1,7 +1,8 @@
|
||||
:root {
|
||||
--font-size-standard: 1rem;
|
||||
--background-image-base: url("../assets/parchment.jpg");
|
||||
--font-secondary: "Amiri", serif;
|
||||
--font-primary: "Georama";
|
||||
--font-secondary: "Georama";
|
||||
--logo-standard: url("../assets/logos/reanimated-ce-logo.webp");
|
||||
}
|
||||
#logo {
|
||||
@ -51,7 +52,7 @@ i.lethalfantasy {
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-sheet-common label {
|
||||
.fvtt-cthulhu-eternal .protagonist-sheet-common label {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
}
|
||||
@ -75,7 +76,7 @@ i.lethalfantasy {
|
||||
.fvtt-cthulhu-eternal .item-sheet-common .shift-right {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content {
|
||||
.fvtt-cthulhu-eternal .protagonist-content {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
color: var(--color-dark-1);
|
||||
@ -84,19 +85,19 @@ i.lethalfantasy {
|
||||
background-size: 100% 100%;
|
||||
overflow: scroll;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content input:disabled,
|
||||
.fvtt-cthulhu-eternal .character-content select:disabled {
|
||||
.fvtt-cthulhu-eternal .protagonist-content input:disabled,
|
||||
.fvtt-cthulhu-eternal .protagonist-content select:disabled {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
border-color: transparent;
|
||||
color: var(--color-dark-3);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content input,
|
||||
.fvtt-cthulhu-eternal .character-content select {
|
||||
.fvtt-cthulhu-eternal .protagonist-content input,
|
||||
.fvtt-cthulhu-eternal .protagonist-content select {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border-color: var(--color-dark-6);
|
||||
color: var(--color-dark-2);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content input[name="name"] {
|
||||
.fvtt-cthulhu-eternal .protagonist-content input[name="name"] {
|
||||
height: 50px;
|
||||
margin-right: 10px;
|
||||
font-family: var(--font-secondary);
|
||||
@ -104,58 +105,58 @@ i.lethalfantasy {
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content fieldset {
|
||||
.fvtt-cthulhu-eternal .protagonist-content fieldset {
|
||||
margin-bottom: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content .form-fields input,
|
||||
.fvtt-cthulhu-eternal .character-content .form-fields select {
|
||||
.fvtt-cthulhu-eternal .protagonist-content .form-fields input,
|
||||
.fvtt-cthulhu-eternal .protagonist-content .form-fields select {
|
||||
text-align: center;
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content .form-fields select {
|
||||
.fvtt-cthulhu-eternal .protagonist-content .form-fields select {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content legend {
|
||||
.fvtt-cthulhu-eternal .protagonist-content legend {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-weight: bold;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-content label {
|
||||
.fvtt-cthulhu-eternal .protagonist-content label {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main {
|
||||
.fvtt-cthulhu-eternal .protagonist-main {
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
flex: 1;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-gauche {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left {
|
||||
min-width: 180px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-gauche .character-gauche-image {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-left-image {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-gauche .character-gauche-image .character-img {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-left-image .protagonist-img {
|
||||
height: 140px;
|
||||
width: auto;
|
||||
border: none;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-gauche .character-dv .form-fields,
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-gauche .character-dmax .form-fields {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-dv .form-fields,
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-dmax .form-fields {
|
||||
flex: none;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-gauche .character-dmax-edit input {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-dmax-edit input {
|
||||
display: flex;
|
||||
width: 60px;
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
@ -164,55 +165,37 @@ i.lethalfantasy {
|
||||
padding: 0 5px 0 5px;
|
||||
text-align: center;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-name {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-name {
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-name input {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-name input {
|
||||
width: 400px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos label {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos label {
|
||||
min-width: 120px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-voie-majeure,
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-voie-mineure {
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-voie-majeure input,
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-voie-mineure input {
|
||||
width: 280px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-voie-majeure .controls,
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-voie-mineure .controls {
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-commanditaire {
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-commanditaire input {
|
||||
width: 280px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-pv {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp {
|
||||
display: flex;
|
||||
gap: 2px;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-pv .character-pv-value .form-fields input {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp .protagonist-hp-value .form-fields input {
|
||||
flex: none;
|
||||
width: 50px;
|
||||
margin-left: 10px;
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-pv .character-pv-max {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp .protagonist-hp-max {
|
||||
clear: both;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
@ -220,53 +203,53 @@ i.lethalfantasy {
|
||||
margin: 3px 0;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-pv .character-pv-max input {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp .protagonist-hp-max input {
|
||||
width: 50px;
|
||||
text-align: center;
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage .character-droite .character-infos .character-pv .pv-separator {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp .hp-separator {
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage-play {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc-play {
|
||||
min-width: 500px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-personnage-edit {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc-edit {
|
||||
min-width: 650px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
flex: 1;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .rollable:focus {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .form-group {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .form-group {
|
||||
flex: 1;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .form-group .form-fields {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .form-group .form-fields {
|
||||
flex: none;
|
||||
width: 70px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .experience {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .experience {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .experience input {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .experience input {
|
||||
display: flex;
|
||||
width: 70px;
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
@ -274,54 +257,54 @@ i.lethalfantasy {
|
||||
justify-content: center;
|
||||
padding: 0 5px 0 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .experience input[type="number"] {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .experience input[type="number"] {
|
||||
text-align: center;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .experience input[type="checkbox"] {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .experience input[type="checkbox"] {
|
||||
width: 20px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .experience input[type="checkbox"]:checked {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .experience input[type="checkbox"]:checked {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques .character-caracteristique .experience input[type="checkbox"]:checked::after {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristics .protagonist-characteristic .experience input[type="checkbox"]:checked::after {
|
||||
color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques-play {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristic-play {
|
||||
min-width: 225px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-caracteristiques-edit {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-characteristic-edit {
|
||||
min-width: 400px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
flex: 1;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource .rollable:focus {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource .form-group {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource .form-group {
|
||||
flex: 1;
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource .form-group .form-fields {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource .form-group .form-fields {
|
||||
flex: none;
|
||||
width: 70px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource .character-ressource-edit {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource .protagonist-resource-edit {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource .character-ressource-edit input {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource .protagonist-resource-edit input {
|
||||
display: flex;
|
||||
width: 70px;
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
@ -329,95 +312,107 @@ i.lethalfantasy {
|
||||
justify-content: center;
|
||||
padding: 0 5px 0 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource .character-ressource-edit input[type="number"] {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource .protagonist-resource-edit input[type="number"] {
|
||||
text-align: center;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources .character-ressource .character-ressource-edit select {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources .protagonist-resource .protagonist-resource-edit select {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.5);
|
||||
text-align: center;
|
||||
width: 75px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources-play {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources-play {
|
||||
min-width: 235px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-main .character-ressources-edit {
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-resources-edit {
|
||||
min-width: 400px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-biography prose-mirror.inactive {
|
||||
.fvtt-cthulhu-eternal .protagonist-biography prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .character-biography prose-mirror.active {
|
||||
.fvtt-cthulhu-eternal .protagonist-biography prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items legend a {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills legend a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .talents {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .talents .talent {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills .skill {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .talents .talent .item-img {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills .skill .item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .weapons {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment legend a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .weapons .weapon {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .weapons .weapon .item-img {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .armors {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .armors .armor {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .armors .armor .item-img {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .spells {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .spells .spell {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items .appris {
|
||||
font-weight: bold;
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items prose-mirror.inactive {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.character-items prose-mirror.active {
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .skill-content {
|
||||
@ -1274,22 +1269,3 @@ input[name="selectAvantages"] {
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
text-shadow: 0 0 10px var(--color-shadow-primary);
|
||||
}
|
||||
#lethalfantasy-application-manager {
|
||||
display: flex;
|
||||
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%;
|
||||
}
|
||||
#lethalfantasy-application-manager .lethalfantasy-table {
|
||||
margin: 1rem;
|
||||
background: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
}
|
||||
#lethalfantasy-application-manager .lethalfantasy-table .player {
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ Hooks.once("init", function () {
|
||||
|
||||
CONFIG.Actor.documentClass = documents.CthulhuEternalActor
|
||||
CONFIG.Actor.dataModels = {
|
||||
character: models.CthulhuEternalProtagonist
|
||||
protagonist: models.CthulhuEternalProtagonist
|
||||
}
|
||||
|
||||
CONFIG.Item.documentClass = documents.CthulhuEternalItem
|
||||
|
Binary file not shown.
139
lang/en.json
139
lang/en.json
@ -7,12 +7,12 @@
|
||||
"skill": "Skill",
|
||||
"weapon": "Weapon",
|
||||
"armor": "Armor",
|
||||
"injuty": "Spell",
|
||||
"gift": "Gift",
|
||||
"vulnerability": "Vulnerability",
|
||||
"save": "Save",
|
||||
"equipment": "Equipment" ,
|
||||
"shield": "Shield"
|
||||
"injury": "Injury",
|
||||
"gear": "Gear",
|
||||
"motivation": "Motivation",
|
||||
"mentaldisorder": "MentalDisorder",
|
||||
"bond": "Bond" ,
|
||||
"arcane": "Arcane"
|
||||
}
|
||||
},
|
||||
"CTHULHUETERNAL": {
|
||||
@ -90,7 +90,17 @@
|
||||
"Weapon": {
|
||||
"WeaponType": {
|
||||
"melee": "Melee",
|
||||
"ranged": "Ranged"
|
||||
"rangedprimitive": "Ranged Primitive",
|
||||
"rangedthrown": "Ranged Thrown",
|
||||
"rangedfirearm": "Ranged Firearm",
|
||||
"unarmed": "Unarmed"
|
||||
},
|
||||
"WeaponSubtype": {
|
||||
"basicfirearm": "Basic Firearm",
|
||||
"pistol": "Pistol",
|
||||
"shotgun": "Shotgun",
|
||||
"submachinegun": "Submachinegun",
|
||||
"riflecarabine": "Rifle/Carabine"
|
||||
},
|
||||
"FIELDS": {
|
||||
"settings": {
|
||||
@ -99,6 +109,9 @@
|
||||
"weaponType": {
|
||||
"label": "Type"
|
||||
},
|
||||
"weaponSubtype": {
|
||||
"label": "Firearm Subtype"
|
||||
},
|
||||
"damage": {
|
||||
"label": "Damage"
|
||||
},
|
||||
@ -119,6 +132,9 @@
|
||||
},
|
||||
"resourceLevel": {
|
||||
"label": "Resource level"
|
||||
},
|
||||
"armorPiercing": {
|
||||
"label": "Armor piercing"
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -177,113 +193,40 @@
|
||||
"community": "Community"
|
||||
},
|
||||
"Label": {
|
||||
"protagonist": "Protagonist",
|
||||
"characteristics": "Characteristics",
|
||||
"description": "Description",
|
||||
"total": "Total",
|
||||
"langues": "Langues",
|
||||
"profil": "Profil",
|
||||
"details": "Détails",
|
||||
"talents": "Talents",
|
||||
"progressionPossible": "Progression possible",
|
||||
"equipement": "Equipement",
|
||||
"spells" : "Sortilèges",
|
||||
"level": "Niveau",
|
||||
"degats": "Dégâts",
|
||||
"ressource": "Ressource",
|
||||
"sauvegarde": "Sauvegarde",
|
||||
"newArmor": "Nouvelle armure",
|
||||
"newWeapon": "Nouvelle arme",
|
||||
"armor": "Armure",
|
||||
"skills": "Skills",
|
||||
"gear": "Gear",
|
||||
"damage": "Damage",
|
||||
"resource": "Resource",
|
||||
"newArmor": "New Armor",
|
||||
"newWeapon": "New Weapon",
|
||||
"armor": "Armor",
|
||||
"malus": "Malus",
|
||||
"jet": "Jet de ",
|
||||
"progress": "Progression",
|
||||
"hasProgressed": "A progressé dans la caractéristique",
|
||||
"noProgress": "N'a pas progressé dans la caractéristique",
|
||||
"experience": "Expérience",
|
||||
"experienceDetail": "Expérience {detail}",
|
||||
"maximum": "Maximum"
|
||||
},
|
||||
"Edit": "Editer",
|
||||
"Delete": "Supprimer",
|
||||
"ToggleSheet": "Changer de mode",
|
||||
"Warning": {
|
||||
"dejaDeuxVoies": "Vous avez déjà choisi deux voies",
|
||||
"dejaVoieMajeure": "Vous avez déjà choisi cette voie comme voie majeure",
|
||||
"voieMajeureAjoutee": "Voie majeure ajoutée",
|
||||
"voieMineureAjoutee": "Voie mineure ajoutée",
|
||||
"voieMajeureSupprimee": "Voie majeure supprimée",
|
||||
"voieMineureSupprimee": "Voie mineure supprimée",
|
||||
"plusDeRessource": "Vous n'avez plus de ressource {ressource}"
|
||||
"experience": "Experience",
|
||||
"maximum": "Maximum",
|
||||
"equipment": "Equipment",
|
||||
"biography": "Biography"
|
||||
},
|
||||
"Edit": "Edit",
|
||||
"Delete": "Delete",
|
||||
"ToggleSheet": "Toggle Sheet",
|
||||
"Warning": { },
|
||||
"Dialog": {
|
||||
"ajoutVoieMajeure": "Ajouter une voie majeure va automatiquement remplacer les caractéristiques, les ressources, les langues et les biens. Continuer ?",
|
||||
"ajoutVoieMajeureTitre": "Ajout d'une voie majeure",
|
||||
"ajoutVoieMineureTitre": "Ajout d'une voie mineure",
|
||||
"suppressionTalents": "Supprimer cette voie va supprimer les talents associés. Continuer ?",
|
||||
"talentDansVoie": "Ce talent est présent dans la voie {path}. Voulez-vous vraiment le supprimer ?",
|
||||
"titleSave": "Jet de sauvegarde",
|
||||
"titleResource": "Jet de ressource",
|
||||
"titleDamage": "Jet de dégâts",
|
||||
"titleAttack": "Jet d'attaque",
|
||||
"titleStandard": "Jet standard"
|
||||
},
|
||||
"Roll": {
|
||||
"save": "Jet de sauvegarde <br> {save}",
|
||||
"resource": "Jet de ressource <br> {resource}",
|
||||
"damage": "Jet de dégâts <br> {item}",
|
||||
"attack": "Jet d'attaque <br> {item}",
|
||||
"roll": "Lancer",
|
||||
"aide": "Aider",
|
||||
"gene": "Gêner",
|
||||
"adversite": "Adversité",
|
||||
"avantagesDesavantages": "Avantages et désavantages",
|
||||
"normal": "Normal",
|
||||
"avantage": "Avec avantage",
|
||||
"desavantage": "Avec désavantage",
|
||||
"doubleAvantage": "Avec double avantage",
|
||||
"doubleDesavantage": "Avec double désavantage",
|
||||
"visibilite": "Visibilité du lancer",
|
||||
"success": "Réussite",
|
||||
"failure": "Echec",
|
||||
"resourceLost": "Ressource perdue",
|
||||
"displayArmor": "{targetName} a une armure de {targetArmor}. <br>Dégâts réels : {realDamage}"
|
||||
"roll": "Lancer"
|
||||
},
|
||||
"Tooltip": {
|
||||
"learnedTalents": "Les talents appris sont en gras",
|
||||
"saveIntroTextTooltip": "Caractéristique : {value} <br> Aide : {aide} <br> Gêne : {gene} <br> Modificateur : {modificateur}",
|
||||
"addAttack": "Ajouter une attaque",
|
||||
"addEquipment": "Ajouter une arme, Shift + Click pour ajouter une armure",
|
||||
"addSpell": "Ajouter un sortilège"
|
||||
},
|
||||
"Setting": {
|
||||
"displayOpponentMalus": "Afficher le malus d'adversité",
|
||||
"displayOpponentMalusHint": "Affiche le malus d'adversité pour les joueurs.",
|
||||
"fortune": "Roue de Fortune",
|
||||
"fortuneHint": "Valeur de la roue de Fortune. Nombre de joueurs + 1 en début de partie."
|
||||
},
|
||||
"Chat": {
|
||||
"askFortune": "{name} veut utiliser un point de Fortune !",
|
||||
"askRollForAll": "Jet de {value}",
|
||||
"askRollForOne": "Jet de {value} pour {name}"
|
||||
},
|
||||
"Fortune": {
|
||||
"title": "Roue de Fortune"
|
||||
},
|
||||
"Manager": {
|
||||
"title": "Gestionnaire de Personnages",
|
||||
"player": "Utilisateur",
|
||||
"character": "Personnage",
|
||||
"rob": "Robustesse",
|
||||
"dex": "Dextérité",
|
||||
"int": "Intelligence",
|
||||
"per": "Perception",
|
||||
"vol": "Volonté",
|
||||
"pv": "Points de Vie",
|
||||
"san": "Santé Mentale",
|
||||
"oeil": "Œil",
|
||||
"verbe": "Verbe",
|
||||
"bourse": "Bourse",
|
||||
"magie": "Magie",
|
||||
"roll": "Faire le jet"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -32,8 +32,7 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
editImage: CthulhuEternalActorSheet.#onEditImage,
|
||||
toggleSheet: CthulhuEternalActorSheet.#onToggleSheet,
|
||||
edit: CthulhuEternalActorSheet.#onItemEdit,
|
||||
delete: CthulhuEternalActorSheet.#onItemDelete,
|
||||
createSpell: CthulhuEternalActorSheet.#onCreateSpell,
|
||||
delete: CthulhuEternalActorSheet.#onItemDelete
|
||||
},
|
||||
}
|
||||
|
||||
@ -109,7 +108,9 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
* @param {DragEvent} event The originating DragEvent
|
||||
* @protected
|
||||
*/
|
||||
async _onDrop(event) {}
|
||||
async _onDrop(event) {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Define whether a user is able to begin a dragstart workflow for a given drag selector
|
||||
@ -128,7 +129,7 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
* @protected
|
||||
*/
|
||||
_canDragDrop(selector) {
|
||||
return this.isEditable && this.document.isOwner
|
||||
return true //this.isEditable && this.document.isOwner
|
||||
}
|
||||
|
||||
/**
|
||||
@ -203,6 +204,7 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
_onDragOver(event) {}
|
||||
|
||||
async _onDropItem(item) {
|
||||
console.log("Dropped item", item)
|
||||
let itemData = item.toObject()
|
||||
await this.document.createEmbeddedDocuments("Item", [itemData], { renderSheet: false })
|
||||
}
|
||||
@ -272,20 +274,8 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
*/
|
||||
static async #onItemDelete(event, target) {
|
||||
const itemUuid = target.getAttribute("data-item-uuid")
|
||||
const talent = await fromUuid(itemUuid)
|
||||
await talent.deleteDialog()
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the creation of a new attack item.
|
||||
*
|
||||
* @param {Event} event The event that triggered the creation of the attack.
|
||||
* @param {Object} target The target object where the attack will be created.
|
||||
* @private
|
||||
* @static
|
||||
*/
|
||||
static #onCreateSpell(event, target) {
|
||||
const item = this.document.createEmbeddedDocuments("Item", [{ name: "Nouveau sortilège", type: "spell" }])
|
||||
const item = await fromUuid(itemUuid)
|
||||
await item.deleteDialog()
|
||||
}
|
||||
|
||||
// #endregion
|
||||
|
@ -19,22 +19,25 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/character-main.hbs",
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/protagonist-main.hbs",
|
||||
},
|
||||
tabs: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/generic/tab-navigation.hbs",
|
||||
template: "templates/generic/tab-navigation.hbs",
|
||||
},
|
||||
items: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/character-items.hbs",
|
||||
skills: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/protagonist-skills.hbs",
|
||||
},
|
||||
equipment: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/protagonist-equipment.hbs",
|
||||
},
|
||||
biography: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/character-biography.hbs",
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/protagonist-biography.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
tabGroups = {
|
||||
sheet: "items",
|
||||
sheet: "skills",
|
||||
}
|
||||
|
||||
/**
|
||||
@ -43,8 +46,9 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
*/
|
||||
#getTabs() {
|
||||
const tabs = {
|
||||
items: { id: "items", group: "sheet", icon: "fa-solid fa-shapes", label: "CTHULHUETERNAL.Character.Label.details" },
|
||||
biography: { id: "biography", group: "sheet", icon: "fa-solid fa-book", label: "CTHULHUETERNAL.Character.Label.biography" },
|
||||
skills: { id: "skills", group: "sheet", icon: "fa-solid fa-shapes", label: "CTHULHUETERNAL.Label.skills" },
|
||||
equipment: { id: "equipment", group: "sheet", icon: "fa-solid fa-shapes", label: "CTHULHUETERNAL.Label.equipment" },
|
||||
biography: { id: "biography", group: "sheet", icon: "fa-solid fa-book", label: "CTHULHUETERNAL.Label.biography" },
|
||||
}
|
||||
for (const v of Object.values(tabs)) {
|
||||
v.active = this.tabGroups[v.group] === v.id
|
||||
@ -58,13 +62,25 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
const context = await super._prepareContext()
|
||||
context.tabs = this.#getTabs()
|
||||
|
||||
context.tooltipsCaracteristiques = {
|
||||
context.tooltipsCharacteristic = {
|
||||
str: game.i18n.localize("CTHULHUETERNAL.Characteristic.Str"),
|
||||
dex: game.i18n.localize("CTHULHUETERNAL.Characteristic.Dex"),
|
||||
con: game.i18n.localize("CTHULHUETERNAL.Characteristic.Con"),
|
||||
int: game.i18n.localize("CTHULHUETERNAL.Characteristic.Int"),
|
||||
pow: game.i18n.localize("CTHULHUETERNAL.Characteristic.Pow"),
|
||||
cha: game.i18n.localize("CTHULHUETERNAL.Characteristic.Cha")
|
||||
}
|
||||
|
||||
context.tooltipsRessources = {
|
||||
}
|
||||
|
||||
context.rollType = {
|
||||
str: "characteristic",
|
||||
dex: "characteristic",
|
||||
con: "characteristic",
|
||||
int: "characteristic",
|
||||
pow: "characteristic",
|
||||
cha: "characteristic"
|
||||
}
|
||||
return context
|
||||
}
|
||||
@ -77,14 +93,16 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
const doc = this.document
|
||||
switch (partId) {
|
||||
case "main":
|
||||
context.enrichedBiens = await TextEditor.enrichHTML(doc.system.biens, { async: true })
|
||||
break
|
||||
case "items":
|
||||
context.tab = context.tabs.items
|
||||
case "skills":
|
||||
context.tab = context.tabs.skills
|
||||
context.skills = doc.itemTypes.skill
|
||||
break
|
||||
case "equipment":
|
||||
context.tab = context.tabs.equipment
|
||||
context.weapons = doc.itemTypes.weapon
|
||||
context.armors = doc.itemTypes.armor
|
||||
context.spells = doc.itemTypes.spell
|
||||
context.hasSpells = context.spells.length > 0
|
||||
context.gears = doc.itemTypes.gear
|
||||
break
|
||||
case "biography":
|
||||
context.tab = context.tabs.biography
|
||||
@ -95,34 +113,6 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
return context
|
||||
}
|
||||
|
||||
// #region Drag-and-Drop Workflow
|
||||
|
||||
/**
|
||||
* Callback actions which occur when a dragged element is dropped on a target.
|
||||
* @param {DragEvent} event The originating DragEvent
|
||||
* @protected
|
||||
*/
|
||||
async _onDrop(event) {
|
||||
if (!this.isEditable || !this.isEditMode) return
|
||||
const data = TextEditor.getDragEventData(event)
|
||||
|
||||
// Handle different data types
|
||||
switch (data.type) {
|
||||
case "Item":
|
||||
const item = await fromUuid(data.uuid)
|
||||
if (!["path", "weapon", "armor", "spell"].includes(item.type)) return
|
||||
if (item.type === "path") return this.#onDropPathItem(item)
|
||||
if (item.type === "weapon") return super._onDropItem(item)
|
||||
if (item.type === "armor") return this._onDropItem(item)
|
||||
if (item.type === "spell") return this._onDropItem(item)
|
||||
}
|
||||
}
|
||||
|
||||
async #onDropPathItem(item) {
|
||||
await this.document.addPath(item)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new attack item directly from the sheet and embeds it into the document.
|
||||
* @param {Event} event The initiating click event.
|
||||
@ -169,5 +159,18 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
}
|
||||
await this.document.system.roll(rollType, rollTarget)
|
||||
}
|
||||
|
||||
async _onDrop(event) {
|
||||
if (!this.isEditable || !this.isEditMode) return
|
||||
const data = TextEditor.getDragEventData(event)
|
||||
|
||||
// Handle different data types
|
||||
switch (data.type) {
|
||||
case "Item":
|
||||
const item = await fromUuid(data.uuid)
|
||||
return super._onDropItem(item)
|
||||
}
|
||||
}
|
||||
|
||||
// #endregion
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ export const SYSTEM = {
|
||||
id: SYSTEM_ID,
|
||||
CHARACTERISTICS: PROTAGONIST.CHARACTERISTICS,
|
||||
WEAPON_TYPE: WEAPON.WEAPON_TYPE,
|
||||
WEAPON_SUBTYPE: WEAPON.WEAPON_SUBTYPE,
|
||||
BOND_TYPE: BOND.BOND_TYPE,
|
||||
AVAILABLE_SETTINGS,
|
||||
ASCII
|
||||
|
@ -1,6 +1,17 @@
|
||||
export const WEAPON_TYPE = {
|
||||
"melee": "CTHULHUETERNAL.Weapon.WeaponType.melee",
|
||||
"ranged": "CTHULHUETERNAL.Weapon.WeaponType.ranged"
|
||||
"rangedprimitive": "CTHULHUETERNAL.Weapon.WeaponType.rangedprimitive",
|
||||
"rangedthrown": "CTHULHUETERNAL.Weapon.WeaponType.rangedthrown",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Weapon.WeaponType.rangedfirearm",
|
||||
"unarmed": "CTHULHUETERNAL.Weapon.WeaponType.unarmed"
|
||||
}
|
||||
|
||||
export const WEAPON_SUBTYPE = {
|
||||
"basicfirearm": "CTHULHUETERNAL.Weapon.WeaponSubtype.basicfirearm",
|
||||
"pistol": "CTHULHUETERNAL.Weapon.WeaponSubtype.pistol",
|
||||
"shotgun": "CTHULHUETERNAL.Weapon.WeaponSubtype.shotgun",
|
||||
"submachinegun": "CTHULHUETERNAL.Weapon.WeaponSubtype.submachinegun",
|
||||
"riflecarabine": "CTHULHUETERNAL.Weapon.WeaponSubtype.riflecarabine",
|
||||
}
|
||||
|
||||
export const WEAPON_RANGE_UNIT = {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { SYSTEM } from "../config/system.mjs"
|
||||
|
||||
export default class CthulhuEternalEquipment extends foundry.abstract.TypeDataModel {
|
||||
export default class CthulhuEternalGHear extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields
|
||||
const schema = {}
|
||||
@ -14,6 +14,6 @@ export default class CthulhuEternalEquipment extends foundry.abstract.TypeDataMo
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static LOCALIZATION_PREFIXES = ["CTHULHUETERNAL.Equipment"]
|
||||
static LOCALIZATION_PREFIXES = ["CTHULHUETERNAL.Gear"]
|
||||
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ export default class CthulhuEternalProtagonist extends foundry.abstract.TypeData
|
||||
schema.hp = new fields.SchemaField({
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
stunned: new fields.BooleanField({ required: true, initial: false })
|
||||
})
|
||||
|
||||
schema.san = new fields.SchemaField({
|
||||
|
@ -27,39 +27,21 @@ export default class LethalFantasySkill extends foundry.abstract.TypeDataModel {
|
||||
|
||||
computeBase() {
|
||||
let actor = this.parent?.actor;
|
||||
if (Number(this.base)) {
|
||||
return Number(this.base) + this.bonus;
|
||||
}
|
||||
if (!actor) {
|
||||
return `${this.base } + ${ String(this.bonus)}`;
|
||||
return `${this.base} + ${ String(this.bonus)}`;
|
||||
}
|
||||
|
||||
// Split the base value per stat : WIS,DEX,STR,INT,CHA (example)
|
||||
const base = this.base;
|
||||
let baseSplit = base.split(",");
|
||||
let baseSplitLength = baseSplit.length;
|
||||
if ( baseSplitLength > 0) {
|
||||
// Select the max stat value from the parent actor
|
||||
let maxStat = 0;
|
||||
for (let i = 0; i < baseSplitLength; i++) {
|
||||
const stat = baseSplit[i];
|
||||
const statValue = actor.system.characteristics[stat.toLowerCase()]?.value || 0;
|
||||
if (statValue > maxStat) {
|
||||
maxStat = statValue;
|
||||
}
|
||||
}
|
||||
return maxStat;
|
||||
} else {
|
||||
// Split with + calculate the total
|
||||
baseSplit = base.split("+");
|
||||
baseSplitLength = baseSplit.length;
|
||||
if ( baseSplitLength > 0) {
|
||||
let total = 0;
|
||||
for (let i = 0; i < baseSplitLength; i++) {
|
||||
const stat = baseSplit[i];
|
||||
const statValue = actor.system.characteristics[stat.toLowerCase()]?.value || 0;
|
||||
total += statValue;
|
||||
}
|
||||
return total
|
||||
}
|
||||
let base = this.base.toLowerCase();
|
||||
let char = actor.system.characteristics[base];
|
||||
if (!char) {
|
||||
ui.notifications.error(`The characteristic ${base} is wrong for actor ${actor.name}`);
|
||||
return `${this.base } + ${ String(this.bonus)}`;
|
||||
}
|
||||
return `${this.base } + ${ String(this.bonus)}`;
|
||||
let charValue = char.value;
|
||||
return charValue + this.bonus
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,8 @@ export default class LethalFantasySkill extends foundry.abstract.TypeDataModel {
|
||||
schema.rangeUnit = new fields.StringField({ required: true, initial: "yard", choices: SYSTEM.WEAPON_RANGE_UNIT })
|
||||
schema.lethality = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.killRadius = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.armorPiercing = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.weaponSubtype = new fields.StringField({ required: true, initial: "basicfirearm", choices: SYSTEM.WEAPON_SUBTYPE })
|
||||
|
||||
schema.resourceLevel = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
|
||||
|
@ -1,21 +0,0 @@
|
||||
#lethalfantasy-application-manager {
|
||||
display: flex;
|
||||
|
||||
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%;
|
||||
|
||||
.lethalfantasy-table {
|
||||
margin: 1rem;
|
||||
background: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
.player {
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
@font-face {
|
||||
font-family: "Cat Franken";
|
||||
src: url("../fonts/catfranken-deutsch.ttf") format("truetype");
|
||||
font-family: "Georama";
|
||||
src: url("../assets/fonts/georama.woff2") format("woff2");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
.fvtt-cthulhu-eternal {
|
||||
@import "mixins.less";
|
||||
@import "character.less";
|
||||
@import "protagonist.less";
|
||||
@import "skill.less";
|
||||
@import "injury.less";
|
||||
@import "weapon.less";
|
||||
@ -16,4 +16,3 @@
|
||||
}
|
||||
|
||||
@import "roll.less";
|
||||
@import "application-manager.less";
|
||||
|
@ -1,7 +1,8 @@
|
||||
:root {
|
||||
--font-size-standard: 1.0rem;
|
||||
--background-image-base: url("../assets/parchment.jpg");
|
||||
--font-secondary: "Amiri", serif;
|
||||
--font-primary: "Georama";
|
||||
--font-secondary: "Georama";
|
||||
--logo-standard: url("../assets/logos/reanimated-ce-logo.webp");
|
||||
}
|
||||
|
||||
|
@ -54,7 +54,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.character-sheet-common {
|
||||
.protagonist-sheet-common {
|
||||
label {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
|
@ -1,41 +1,41 @@
|
||||
.character-content {
|
||||
.protagonist-content {
|
||||
.sheet-common();
|
||||
.character-sheet-common();
|
||||
.protagonist-sheet-common();
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
.character-main {
|
||||
.protagonist-main {
|
||||
display: flex;
|
||||
|
||||
.character-personnage {
|
||||
.protagonist-pc {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
flex: 1;
|
||||
|
||||
.character-gauche {
|
||||
.protagonist-left {
|
||||
min-width: 180px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.character-gauche-image {
|
||||
.protagonist-left-image {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding-bottom: 20px;
|
||||
.character-img {
|
||||
.protagonist-img {
|
||||
height: 140px;
|
||||
width: auto;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
|
||||
.character-dv,
|
||||
.character-dmax {
|
||||
.protagonist-dv,
|
||||
.protagonist-dmax {
|
||||
.form-fields {
|
||||
flex: none;
|
||||
}
|
||||
}
|
||||
.character-dmax-edit {
|
||||
.protagonist-dmax-edit {
|
||||
input {
|
||||
display: flex;
|
||||
width: 60px;
|
||||
@ -48,19 +48,19 @@
|
||||
}
|
||||
}
|
||||
|
||||
.character-droite {
|
||||
.protagonist-right {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
|
||||
.character-name {
|
||||
.protagonist-name {
|
||||
display: flex;
|
||||
input {
|
||||
width: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
.character-infos {
|
||||
.protagonist-infos {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
@ -69,29 +69,11 @@
|
||||
min-width: 120px;
|
||||
}
|
||||
|
||||
.character-voie-majeure,
|
||||
.character-voie-mineure {
|
||||
display: flex;
|
||||
input {
|
||||
width: 280px;
|
||||
}
|
||||
.controls {
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.character-commanditaire {
|
||||
display: flex;
|
||||
input {
|
||||
width: 280px;
|
||||
}
|
||||
}
|
||||
|
||||
.character-pv {
|
||||
.protagonist-hp {
|
||||
display: flex;
|
||||
gap: 2px;
|
||||
align-items: center;
|
||||
.character-pv-value {
|
||||
.protagonist-hp-value {
|
||||
.form-fields input {
|
||||
flex: none;
|
||||
width: 50px;
|
||||
@ -99,7 +81,7 @@
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
}
|
||||
}
|
||||
.character-pv-max {
|
||||
.protagonist-hp-max {
|
||||
clear: both;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
@ -112,7 +94,7 @@
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
}
|
||||
}
|
||||
.pv-separator {
|
||||
.hp-separator {
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -123,21 +105,21 @@
|
||||
}
|
||||
}
|
||||
|
||||
.character-personnage-play {
|
||||
.protagonist-pc-play {
|
||||
min-width: 500px;
|
||||
}
|
||||
|
||||
.character-personnage-edit {
|
||||
.protagonist-pc-edit {
|
||||
min-width: 650px;
|
||||
}
|
||||
|
||||
.character-caracteristiques {
|
||||
.protagonist-characteristics {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
flex: 1;
|
||||
|
||||
.character-caracteristique {
|
||||
.protagonist-characteristic {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.rollable:hover,
|
||||
@ -182,21 +164,21 @@
|
||||
}
|
||||
}
|
||||
|
||||
.character-caracteristiques-play {
|
||||
.protagonist-characteristic-play {
|
||||
min-width: 225px;
|
||||
}
|
||||
|
||||
.character-caracteristiques-edit {
|
||||
.protagonist-characteristic-edit {
|
||||
min-width: 400px;
|
||||
}
|
||||
|
||||
.character-ressources {
|
||||
.protagonist-resources {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
flex: 1;
|
||||
|
||||
.character-ressource {
|
||||
.protagonist-resource {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.rollable:hover,
|
||||
@ -213,7 +195,7 @@
|
||||
width: 70px;
|
||||
}
|
||||
}
|
||||
.character-ressource-edit {
|
||||
.protagonist-resource-edit {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
@ -239,16 +221,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
.character-ressources-play {
|
||||
.protagonist-resources-play {
|
||||
min-width: 235px;
|
||||
}
|
||||
|
||||
.character-ressources-edit {
|
||||
.protagonist-resources-edit {
|
||||
min-width: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
.character-biography {
|
||||
.protagonist-biography {
|
||||
prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
@ -257,7 +239,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.tab.character-items {
|
||||
.tab.protagonist-skills {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
legend {
|
||||
@ -266,20 +248,32 @@
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
.talents {
|
||||
.skills {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 10px;
|
||||
.talent {
|
||||
.skill {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
.item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab.protagonist-equipment {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
legend {
|
||||
a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
.weapons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
@ -310,19 +304,22 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.spells {
|
||||
.gears {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 10px;
|
||||
.spell {
|
||||
.gear {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
.item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.appris {
|
||||
font-weight: bold;
|
||||
}
|
||||
prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
<fieldset>
|
||||
<legend>{{localize "TENEBRIS.Character.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{{localize "TENEBRIS.Character.Label.langues"}}</legend>
|
||||
{{formInput systemFields.langues enriched=enrichedLangues value=system.langues name="system.langues" toggled=true}}
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{{localize "TENEBRIS.Character.Label.notes"}}</legend>
|
||||
{{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}}
|
||||
</fieldset>
|
||||
</section>
|
@ -1,103 +0,0 @@
|
||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
|
||||
<fieldset>
|
||||
<legend data-tooltip="{{localize "TENEBRIS.Tooltip.learnedTalents"}}" data-tooltip-direction="UP">{{localize "TENEBRIS.Label.talents"}}</legend>
|
||||
<div class="talents">
|
||||
{{#if @root.isEditMode}}
|
||||
{{#each talents as |item|}}
|
||||
{{!log "path-talent" this}}
|
||||
<div class="talent {{#if item.appris}}appris{{/if}}" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.description}}}<br><br>{{item.path}}" data-tooltip-direction="UP">{{item.name}}
|
||||
{{#if item.progression}}<span data-tooltip="{{localize 'TENEBRIS.Label.progressionPossible'}}"> (P)</span>{{/if}}
|
||||
{{#if (and item.progression (gt item.niveau 1))}}{{localize 'TENEBRIS.Label.level'}} {{item.niveau}}{{/if}}
|
||||
</div>
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'TENEBRIS.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 'TENEBRIS.Delete'}}" data-action="delete" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
{{else}}
|
||||
{{#each talentsAppris as |item|}}
|
||||
{{!log "path-talent appris" this}}
|
||||
<div class="talent" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-tooltip="{{{item.description}}}<br><br>{{item.path}}">
|
||||
{{#if (ne item.img "icons/svg/item-bag.svg")}}
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
{{/if}}
|
||||
{{item.name}} {{item.details}}
|
||||
</div>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "TENEBRIS.Label.equipement"}}{{#if isEditMode}}<a class="action" data-tooltip="{{localize "TENEBRIS.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}</legend>
|
||||
<div class="weapons">
|
||||
{{#each weapons as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="weapon" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true" data-drag-type="damage">
|
||||
{{#if (ne item.img "icons/svg/item-bag.svg")}}
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
{{/if}}
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<a {{#if (ne item.system.degats "1")}}class="rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage" data-roll-value="{{item.system.degats}}"{{/if}}>{{localize "TENEBRIS.Label.degats"}} : {{item.system.degats}}</a>
|
||||
{{#if @root.isEditMode}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'TENEBRIS.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 'TENEBRIS.Delete'}}" data-action="delete" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
<div class="armors">
|
||||
{{#each armors as |item|}}
|
||||
{{!log 'armor' this}}
|
||||
<div class="armor" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
{{localize "TENEBRIS.Label.armor"}} : {{item.system.valeur}} {{localize "TENEBRIS.Label.malus"}} : {{item.system.malus}}
|
||||
{{#if @root.isEditMode}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'TENEBRIS.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 'TENEBRIS.Delete'}}" data-action="delete" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "TENEBRIS.Label.biens"}}</legend>
|
||||
{{formInput systemFields.biens enriched=enrichedBiens value=system.biens name="system.biens" toggled=true }}
|
||||
</fieldset>
|
||||
|
||||
{{#if (or isEditMode (and isPlayMode hasSpells))}}
|
||||
<fieldset>
|
||||
<legend>{{localize "TENEBRIS.Label.spells"}}{{#if isEditMode}}<a class="action" data-tooltip="{{localize "TENEBRIS.Tooltip.addSpell"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createSpell"></i></a>{{/if}}</legend>
|
||||
<div class="spells">
|
||||
{{#each spells as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="spell" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true" data-drag-type="spell">
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
{{#if @root.isEditMode}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'TENEBRIS.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 'TENEBRIS.Delete'}}" data-action="delete" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
{{/if}}
|
||||
</section>
|
@ -1,187 +0,0 @@
|
||||
<section class="character-main character-main-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
{{!log "character-main" this}}
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "TENEBRIS.Character.Label.personnage"}}</legend>
|
||||
<div class="character-personnage character-personnage-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<div class="character-gauche">
|
||||
<div class="character-gauche-image">
|
||||
<img class="character-img" src="{{actor.img}}" data-edit="img" data-action="editImage" data-tooltip="{{actor.name}}" />
|
||||
</div>
|
||||
<div class="character-dv">
|
||||
{{formField systemFields.dv value=system.dv rootId=partId disabled=isPlayMode classes="character-dv"}}
|
||||
</div>
|
||||
<div class="character-dmax" data-tooltip="{{tooltipsCaracteristiques.dmax}}">
|
||||
{{formField systemFields.dmax.fields.valeur value=system.dmax.valeur rootId=partId disabled=isPlayMode classes="character-dmax"}}
|
||||
{{#if isEditMode}}
|
||||
<div class="character-dmax-edit">
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experienceDetail" detail='Dégâts max'}}">{{formInput systemFields.dmax.fields.experience value=system.dmax.experience}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="character-droite">
|
||||
<div class="character-name">
|
||||
{{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}}
|
||||
<a class="control" data-action="toggleSheet" data-tooltip="TENEBRIS.ToggleSheet" data-tooltip-direction="UP">
|
||||
<i class="fa-solid fa-user-{{ifThen isPlayMode 'lock' 'pen'}}"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="character-infos">
|
||||
{{#if isEditMode}}
|
||||
<div class="character-voie-majeure">
|
||||
{{formField systemFields.voies.fields.majeure.fields.nom value=system.voies.majeure.nom rootId=partId disabled=true}}
|
||||
{{#if system.hasVoieMajeure}}
|
||||
<div class="controls">
|
||||
<a class="control" data-action="edit" data-item-id="{{actor.system.voies.majeure.id}}" data-tooltip="{{localize 'TENEBRIS.Edit'}}"><i class="fas fa-edit"></i></a>
|
||||
{{#if (not system.hasVoieMineure)}}
|
||||
<a class="control" data-action="deleteVoieMajeure" data-tooltip="{{localize 'TENEBRIS.Delete'}}"><i class="fas fa-trash"></i></a>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-voie-mineure">
|
||||
{{formField systemFields.voies.fields.mineure.fields.nom value=system.voies.mineure.nom rootId=partId disabled=true}}
|
||||
{{#if system.hasVoieMineure}}
|
||||
<div class="controls">
|
||||
<a class="control" data-action="edit" data-item-id="{{actor.system.voies.majeure.id}}" data-tooltip="{{localize 'TENEBRIS.Edit'}}"><i class="fas fa-edit"></i></a>
|
||||
<a class="control" data-action="deleteVoieMineure" data-tooltip="{{localize 'TENEBRIS.Delete'}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="character-voie-majeure">
|
||||
{{formField systemFields.voies.fields.majeure.fields.nom value=system.voies.majeure.nom rootId=partId disabled=true}}
|
||||
</div>
|
||||
{{#if system.hasVoieMineure}}
|
||||
<div class="character-voie-mineure">
|
||||
{{formField systemFields.voies.fields.mineure.fields.nom value=system.voies.mineure.nom rootId=partId disabled=true}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<div class="character-commanditaire">
|
||||
{{formField systemFields.commanditaire value=system.commanditaire rootId=partId disabled=isPlayMode classes="character-commanditaire"}}
|
||||
</div>
|
||||
<div class="character-pv">
|
||||
<div class="character-pv-value">
|
||||
{{formField systemFields.pv.fields.value value=system.pv.value}}
|
||||
</div>
|
||||
<div class="pv-separator">/</div>
|
||||
<div class="character-pv-max">
|
||||
{{formInput systemFields.pv.fields.max value=system.pv.max rootId=partId disabled=isPlayMode}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="character-caracteristiques character-caracteristiques-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<legend>{{localize "TENEBRIS.Character.Label.caracteristiques"}}</legend>
|
||||
<div class="character-caracteristique" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCaracteristiques.rob}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.caracteristiques.fields.rob.fields.valeur value=system.caracteristiques.rob.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.saveRob}}
|
||||
{{#if isEditMode}}
|
||||
<div class="experience">
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.caracteristiques.fields.rob.fields.progression.fields.experience value=system.caracteristiques.rob.progression.experience}}</div>
|
||||
<div class="experience-progress" data-tooltip="{{localize "TENEBRIS.Label.progress"}}">{{formInput systemFields.caracteristiques.fields.rob.fields.progression.fields.progres value=system.caracteristiques.rob.progression.progres}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-caracteristique" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCaracteristiques.dex}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.caracteristiques.fields.dex.fields.valeur value=system.caracteristiques.dex.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.saveDex}}
|
||||
{{#if isEditMode}}
|
||||
<div class="experience">
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.caracteristiques.fields.dex.fields.progression.fields.experience value=system.caracteristiques.dex.progression.experience}}</div>
|
||||
<div class="experience-progress" data-tooltip="{{localize "TENEBRIS.Label.progress"}}">{{formInput systemFields.caracteristiques.fields.dex.fields.progression.fields.progres value=system.caracteristiques.dex.progression.progres}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-caracteristique" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCaracteristiques.int}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.caracteristiques.fields.int.fields.valeur value=system.caracteristiques.int.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.saveInt}}
|
||||
{{#if isEditMode}}
|
||||
<div class="experience">
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.caracteristiques.fields.int.fields.progression.fields.experience value=system.caracteristiques.int.progression.experience}}</div>
|
||||
<div class="experience-progress" data-tooltip="{{localize "TENEBRIS.Label.progress"}}">{{formInput systemFields.caracteristiques.fields.int.fields.progression.fields.progres value=system.caracteristiques.int.progression.progres}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-caracteristique" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCaracteristiques.per}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.caracteristiques.fields.per.fields.valeur value=system.caracteristiques.per.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.savePer}}
|
||||
{{#if isEditMode}}
|
||||
<div class="experience">
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.caracteristiques.fields.per.fields.progression.fields.experience value=system.caracteristiques.per.progression.experience}}</div>
|
||||
<div class="experience-progress" data-tooltip="{{localize "TENEBRIS.Label.progress"}}">{{formInput systemFields.caracteristiques.fields.per.fields.progression.fields.progres value=system.caracteristiques.per.progression.progres}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-caracteristique" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCaracteristiques.vol}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.caracteristiques.fields.vol.fields.valeur value=system.caracteristiques.vol.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.saveVol}}
|
||||
{{#if isEditMode}}
|
||||
<div class="experience">
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.caracteristiques.fields.vol.fields.progression.fields.experience value=system.caracteristiques.vol.progression.experience}}</div>
|
||||
<div class="experience-progress" data-tooltip="{{localize "TENEBRIS.Label.progress"}}">{{formInput systemFields.caracteristiques.fields.vol.fields.progression.fields.progres value=system.caracteristiques.vol.progression.progres}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="character-ressources character-ressources-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<legend>{{localize "TENEBRIS.Character.Label.ressources"}}</legend>
|
||||
<div class="character-ressource" data-drag="true" data-drag-type="resource">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsRessources.san}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.ressources.fields.san.fields.valeur value=system.ressources.san.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.resourceSan}}
|
||||
{{#if isEditMode}}
|
||||
<div class="character-ressource-edit">
|
||||
{{formInput systemFields.ressources.fields.san.fields.max value=system.ressources.san.max}}
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.ressources.fields.san.fields.experience value=system.ressources.san.experience}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-ressource" data-drag="true" data-drag-type="resource">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsRessources.oeil}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.ressources.fields.oeil.fields.valeur value=system.ressources.oeil.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.resourceOeil}}
|
||||
{{#if isEditMode}}
|
||||
<div class="character-ressource-edit">
|
||||
{{formInput systemFields.ressources.fields.oeil.fields.max value=system.ressources.oeil.max}}
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.ressources.fields.oeil.fields.experience value=system.ressources.oeil.experience}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-ressource" data-drag="true" data-drag-type="resource">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsRessources.verbe}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.ressources.fields.verbe.fields.valeur value=system.ressources.verbe.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.resourceVerbe}}
|
||||
{{#if isEditMode}}
|
||||
<div class="character-ressource-edit">
|
||||
{{formInput systemFields.ressources.fields.verbe.fields.max value=system.ressources.verbe.max}}
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.ressources.fields.verbe.fields.experience value=system.ressources.verbe.experience}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-ressource" data-drag="true" data-drag-type="resource">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsRessources.bourse}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.ressources.fields.bourse.fields.valeur value=system.ressources.bourse.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.resourceBourse}}
|
||||
{{#if isEditMode}}
|
||||
<div class="character-ressource-edit">
|
||||
{{formInput systemFields.ressources.fields.bourse.fields.max value=system.ressources.bourse.max}}
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.ressources.fields.bourse.fields.experience value=system.ressources.bourse.experience}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="character-ressource" data-drag="true" data-drag-type="resource">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsRessources.magie}}" style="font-size: small;"></i>
|
||||
{{formField systemFields.ressources.fields.magie.fields.valeur value=system.ressources.magie.valeur rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.resourceMagie}}
|
||||
{{#if isEditMode}}
|
||||
<div class="character-ressource-edit">
|
||||
{{formInput systemFields.ressources.fields.magie.fields.max value=system.ressources.magie.max}}
|
||||
<div data-tooltip="{{localize "TENEBRIS.Label.experience"}}">{{formInput systemFields.ressources.fields.magie.fields.experience value=system.ressources.magie.experience}}</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</section>
|
@ -3,7 +3,6 @@
|
||||
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
{{formInput fields.name value=source.name}}
|
||||
</div>
|
||||
{{formField systemFields.cost value=system.cost}}
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.description"}}</legend>
|
||||
|
10
templates/protagonist-biography.hbs
Normal file
10
templates/protagonist-biography.hbs
Normal file
@ -0,0 +1,10 @@
|
||||
<section class="tab protagonist-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Character.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=description value=system.description name="system.description" toggled=true}}
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Character.Label.notes"}}</legend>
|
||||
{{formInput systemFields.notes enriched=notes value=system.notes name="system.notes" toggled=true}}
|
||||
</fieldset>
|
||||
</section>
|
60
templates/protagonist-equipment.hbs
Normal file
60
templates/protagonist-equipment.hbs
Normal file
@ -0,0 +1,60 @@
|
||||
<section class="tab protagonist-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.weapon"}}{{#if isEditMode}}<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}</legend>
|
||||
<div class="weapons">
|
||||
{{#each weapons as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="weapon" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true" data-drag-type="damage">
|
||||
{{#if (ne item.img "icons/svg/item-bag.svg")}}
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
{{/if}}
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<a class="rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage" data-roll-value="{{item.system.degats}}">{{localize "CTHULHUETERNAL.Label.damage"}} : {{item.system.damage}}</a>
|
||||
{{#if @root.isEditMode}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'CTHULHUETERNAL.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 'CTHULHUETERNAL.Delete'}}" data-action="delete" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
<div class="armors">
|
||||
{{#each armors as |item|}}
|
||||
{{!log 'armor' this}}
|
||||
<div class="armor" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
{{localize "CTHULHUETERNAL.Label.armor"}} : {{item.system.protection}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'CTHULHUETERNAL.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 'CTHULHUETERNAL.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>
|
||||
|
||||
<div class="gears">
|
||||
{{#each gears as |item|}}
|
||||
{{!log 'armor' this}}
|
||||
<div class="gear" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
{{localize "CTHULHUETERNAL.Label.gear"}} : {{item.system.protection}}
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'CTHULHUETERNAL.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 'CTHULHUETERNAL.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>
|
79
templates/protagonist-main.hbs
Normal file
79
templates/protagonist-main.hbs
Normal file
@ -0,0 +1,79 @@
|
||||
<section class="protagonist-main protagonist-main-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
{{!log "protagonist-main" this}}
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.protagonist"}}</legend>
|
||||
<div class="protagonist-pc protagonist-pc-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<div class="protagonist-left">
|
||||
<div class="protagonist-left-image">
|
||||
<img class="protagonist-img" src="{{actor.img}}" data-edit="img" data-action="editImage"
|
||||
data-tooltip="{{actor.name}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="protagonist-right">
|
||||
<div class="protagonist-name">
|
||||
{{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}}
|
||||
<a class="control" data-action="toggleSheet" data-tooltip="CTHULHUETERNAL.ToggleSheet"
|
||||
data-tooltip-direction="UP">
|
||||
<i class="fa-solid fa-user-{{ifThen isPlayMode 'lock' 'pen'}}"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="protagonist-infos">
|
||||
<div class="protagonist-hp">
|
||||
<div class="protagonist-hp-value">
|
||||
{{formField systemFields.hp.fields.value value=system.hp.value}}
|
||||
</div>
|
||||
<div class="hp-separator">/</div>
|
||||
<div class="protagonist-hp-max">
|
||||
{{formInput systemFields.hp.fields.max value=system.hp.max rootId=partId disabled=isPlayMode}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="protagonist-characteristics protagonist-characteristics-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.characteristics"}}</legend>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.str}}"
|
||||
style="font-size: small;"></i>
|
||||
{{formField systemFields.characteristics.fields.str.fields.value value=system.characteristics.str.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.str}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.dex}}"
|
||||
style="font-size: small;"></i>
|
||||
{{formField systemFields.characteristics.fields.dex.fields.value value=system.characteristics.dex.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.dex}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.dex}}"
|
||||
style="font-size: small;"></i>
|
||||
{{formField systemFields.characteristics.fields.con.fields.value value=system.characteristics.con.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.con}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.int}}"
|
||||
style="font-size: small;"></i>
|
||||
{{formField systemFields.characteristics.fields.int.fields.value value=system.characteristics.int.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.int}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.pow}}"
|
||||
style="font-size: small;"></i>
|
||||
{{formField systemFields.characteristics.fields.pow.fields.value value=system.characteristics.pow.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.pow}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.cha}}"
|
||||
style="font-size: small;"></i>
|
||||
{{formField systemFields.characteristics.fields.cha.fields.value value=system.characteristics.cha.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.cha}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="protagonist-resources protagonist-resources-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
</fieldset>
|
||||
|
||||
</section>
|
22
templates/protagonist-skills.hbs
Normal file
22
templates/protagonist-skills.hbs
Normal file
@ -0,0 +1,22 @@
|
||||
<section class="tab protagonist-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
{{log this}}
|
||||
<fieldset>
|
||||
<legend data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.skills"}}" data-tooltip-direction="UP">{{localize "CTHULHUETERNAL.Label.skills"}}</legend>
|
||||
<div class="skills">
|
||||
{{#each skills as |item|}}
|
||||
<div class="skill " data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.description}}}<br><br>{{item.path}}" data-tooltip-direction="UP">{{item.name}}
|
||||
<span data-tooltip="{{localize 'CTHULHUETERNAL.Label.progressionPossible'}}">{{item.system.skillTotal}}</span>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'CTHULHUETERNAL.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 'CTHULHUETERNAL.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>
|
@ -6,12 +6,17 @@
|
||||
|
||||
{{formField systemFields.settings value=system.settings localize=true}}
|
||||
{{formField systemFields.weaponType value=system.weaponType localize=true}}
|
||||
{{#if (eq system.weaponType "rangedfirearm")}}
|
||||
{{formField systemFields.weaponSubtype value=system.weaponSubtype localize=true}}
|
||||
{{/if}}
|
||||
|
||||
{{formField systemFields.damage value=system.damage}}
|
||||
{{formField systemFields.baseRange value=system.baseRange}}
|
||||
{{formField systemFields.rangeUnit value=system.rangeUnit localize=true}}
|
||||
{{formField systemFields.lethality value=system.lethality}}
|
||||
{{formField systemFields.killRadius value=system.killRadius}}
|
||||
|
||||
{{formField systemFields.armorPiercing value=system.armorPiercing}}
|
||||
|
||||
{{formField systemFields.resourceLevel value=system.resourceLevel}}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user