Manage ers
BIN
assets/fonts/BebasNeue-Regular.ttf
Normal file
BIN
assets/fonts/CarterOne-Regular.ttf
Normal file
BIN
assets/fonts/Excelsior-Normal.ttf
Normal file
BIN
assets/fonts/Georama-Regular.ttf
Normal file
BIN
assets/fonts/IMFell.ttf
Normal file
BIN
assets/fonts/Luminari-Regular.ttf
Normal file
BIN
assets/fonts/Megrim-Regular.ttf
Normal file
BIN
assets/fonts/P22-Operina.ttf
Normal file
BIN
assets/fonts/RozhaOne-Regular.ttf
Normal file
BIN
assets/fonts/SairaStencilOne-Regular.ttf
Normal file
BIN
assets/fonts/Seabreed.ttf
Normal file
BIN
assets/fonts/SigmarOne-Regular.ttf
Normal file
BIN
assets/fonts/SpectralSC-Regular.ttf
Normal file
BIN
assets/fonts/Tangerine-Regular.ttf
Normal file
BIN
assets/fonts/Teko-Regular.ttf
Normal file
BIN
assets/fonts/Top-Secret.ttf
Normal file
BIN
assets/fonts/Trajan-Pro-Regular.ttf
Normal file
BIN
assets/fonts/UncialAntiqua-Regular.ttf
Normal file
BIN
assets/fonts/Volkhov-Regular.ttf
Normal file
BIN
assets/fonts/armalite.ttf
Normal file
BIN
assets/fonts/dominican.ttf
Normal file
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
BIN
assets/ui/cover_ageofrevolution.webp
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
assets/ui/cover_ageofsail.webp
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
assets/ui/cover_classical.webp
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
assets/ui/cover_cold_war.webp
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
assets/ui/cover_future.webp
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
assets/ui/cover_jazzage.webp
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
assets/ui/cover_medieval.webp
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
assets/ui/cover_modern.webp
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
assets/ui/cover_victorian.webp
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
assets/ui/cover_ww1.webp
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
assets/ui/cover_ww2.webp
Normal file
After Width: | Height: | Size: 49 KiB |
@ -1,6 +1,86 @@
|
||||
@font-face {
|
||||
font-family: "Georama";
|
||||
src: url("../assets/fonts/georama.woff2") format("woff2");
|
||||
src: url("../assets/fonts/Georama-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Tangerine";
|
||||
src: url("../assets/fonts/Tangerine-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "TrajanPro";
|
||||
src: url("../assets/fonts/Trajan-Pro-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Teko";
|
||||
src: url("../assets/fonts/Teko-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "P22Operina";
|
||||
src: url("../assets/fonts/P22-Operina.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "SpectralSC";
|
||||
src: url("../assets/fonts/SpectralSC-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "RozhaOne";
|
||||
src: url("../assets/fonts/RozhaOne-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Megrim";
|
||||
src: url("../assets/fonts/Megrim-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Volkhov";
|
||||
src: url("../assets/fonts/Volkhov-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "IMFell";
|
||||
src: url("../assets/fonts/IMFell.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Dominican";
|
||||
src: url("../assets/fonts/dominican.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "UncialAntiqua";
|
||||
src: url("../assets/fonts/UncialAntiqua-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Luminari";
|
||||
src: url("../assets/fonts/Luminari-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "SairaStencilOne";
|
||||
src: url("../assets/fonts/SairaStencilOne-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Armalite";
|
||||
src: url("../assets/fonts/armalite.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "CarterOne";
|
||||
src: url("../assets/fonts/CarterOne-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "SigmarOne";
|
||||
src: url("../assets/fonts/SigmarOne-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Excelsior";
|
||||
src: url("../assets/fonts/Excelsior-Normal.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "TopSecret";
|
||||
src: url("../assets/fonts/Top-Secret.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "BebasNeue";
|
||||
src: url("../assets/fonts/BebasNeue-Regular.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Seabreed";
|
||||
src: url("../assets/fonts/Seabreed.ttf") format("truetype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Broadway";
|
||||
@ -26,18 +106,21 @@
|
||||
--font-size-standard: 0.9rem;
|
||||
--background-image-base: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url("../assets/ui/jazzage_background_main.webp");
|
||||
/*--background-image-base: url("../assets/ui/jazzage_background_main.webp");*/
|
||||
--font-primary: "Georama";
|
||||
--font-secondary: "Georama";
|
||||
--font-primary: "RozhaOne";
|
||||
--font-secondary: "RozhaOne";
|
||||
--font-title: "Broadway";
|
||||
--logo-standard: url("../assets/logos/reanimated-ce-logo.webp");
|
||||
--color-success: darkgreen;
|
||||
--color-failure: darkred;
|
||||
--color-critical-success: lightgreen;
|
||||
--color-critical-failure: lightcoral;
|
||||
--img-icon-color-filter: brightness(0) saturate(100%) invert(52%) sepia(9%) saturate(2368%) hue-rotate(360deg) brightness(86%) contrast(84%);
|
||||
}
|
||||
.era-icon-color {
|
||||
.item .thumbnail,
|
||||
.item-img {
|
||||
/*filter: invert(90%) sepia(10%) saturate(1215%) hue-rotate(55deg) brightness(93%) contrast(89%);*/
|
||||
/*filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);*/
|
||||
filter: var(--img-icon-color-filter);
|
||||
}
|
||||
#logo {
|
||||
content: var(--logo-standard);
|
||||
@ -213,6 +296,31 @@ i.fvtt-cthulhu-eternal {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
width: 400px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .san input {
|
||||
min-width: 2.2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .san .san-checkbox {
|
||||
min-width: 1rem;
|
||||
max-width: 1rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .san .label-field {
|
||||
flex-grow: 0;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .san .spacing {
|
||||
margin-left: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .willpower input {
|
||||
min-width: 2.2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .willpower .label-field {
|
||||
flex-grow: 0;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .willpower .checkbox {
|
||||
min-width: 1rem;
|
||||
max-width: 1rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -296,6 +404,39 @@ i.fvtt-cthulhu-eternal {
|
||||
.fvtt-cthulhu-eternal .protagonist-biography prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-biography .field-label {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-biography .biodata {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 8px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-biography .motivations {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-biography .motivations .motivation {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-biography .motivations .motivation .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-biography .motivations .motivation .name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .protagonist-biography .motivations .motivation .item-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
@ -335,6 +476,98 @@ i.fvtt-cthulhu-eternal {
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status legend a {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds .bond {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds .bond .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds .bond .name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds .bond .type {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds .bond .level {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds .bond .item-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .mentaldisorders {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .mentaldisorders .mentaldisorder {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .mentaldisorders .mentaldisorder .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .mentaldisorders .mentaldisorder .name {
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .mentaldisorders .mentaldisorder .item-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .injuries {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .injuries .injury {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .injuries .injury .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .injuries .injury .name {
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .injuries .injury .item-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
@ -346,18 +579,37 @@ i.fvtt-cthulhu-eternal {
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .damage {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors {
|
||||
display: grid;
|
||||
@ -368,11 +620,30 @@ i.fvtt-cthulhu-eternal {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .protection {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears {
|
||||
display: grid;
|
||||
@ -383,11 +654,30 @@ i.fvtt-cthulhu-eternal {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .damage {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
|
@ -85,7 +85,9 @@ Hooks.once("init", function () {
|
||||
game.socket.on(`system.${SYSTEM.id}`, handleSocketEvent)
|
||||
|
||||
setupTextEnrichers()
|
||||
CthulhuEternalUtils.registerSettings()
|
||||
CthulhuEternalUtils.registerHandlebarsHelpers()
|
||||
CthulhuEternalUtils.setupCSSRootVariables()
|
||||
|
||||
// Gestion des jets de dés depuis les journaux
|
||||
document.addEventListener("click", (event) => {
|
||||
|
62
lang/en.json
@ -29,10 +29,38 @@
|
||||
"WW2": "World War 2",
|
||||
"ColdWar": "Cold War",
|
||||
"Victorian": "Victorian",
|
||||
"AgeOfSail": "Age of Sail"
|
||||
"AgeOfSail": "Age of Sail",
|
||||
"PostApo": "Post-Apocalyptic"
|
||||
},
|
||||
"Protagonist": {
|
||||
"FIELDS": {
|
||||
"biodata": {
|
||||
"harshness": {
|
||||
"label": "Harshness"
|
||||
},
|
||||
"age": {
|
||||
"label": "Age"
|
||||
},
|
||||
"gender": {
|
||||
"label": "Gender"
|
||||
},
|
||||
"hair": {
|
||||
"label": "Hair"
|
||||
},
|
||||
"eyes": {
|
||||
"label": "Eyes"
|
||||
},
|
||||
"height": {
|
||||
"label": "Height"
|
||||
},
|
||||
"home": {
|
||||
"label": "Home"
|
||||
},
|
||||
"birthplace": {
|
||||
"label": "Birthplace"
|
||||
},
|
||||
"label": "Biodata"
|
||||
},
|
||||
"characteristics:": {
|
||||
"str": {
|
||||
"label": "Strength"
|
||||
@ -57,6 +85,12 @@
|
||||
},
|
||||
"Skill": {
|
||||
"Unnatural": "Unnatural",
|
||||
"Melee": "Melee Weapons",
|
||||
"Firearms": "Firearms",
|
||||
"Athletics": "Athletics",
|
||||
"UnarmedCombat": "Unarmed Combat",
|
||||
"RangedWeapons": "Ranged Weapons",
|
||||
"FirearmsBeams": "Firearms / Beam Weapons",
|
||||
"FIELDS": {
|
||||
"settings": {
|
||||
"label": "Settings era"
|
||||
@ -243,8 +277,6 @@
|
||||
"gear": "Gear",
|
||||
"damage": "Damage",
|
||||
"resource": "Resource",
|
||||
"newArmor": "New Armor",
|
||||
"newWeapon": "New Weapon",
|
||||
"armor": "Armor",
|
||||
"malus": "Malus",
|
||||
"experience": "Experience",
|
||||
@ -272,7 +304,29 @@
|
||||
"criticalSuccess": "Critical Success",
|
||||
"criticalFailure": "Critical Failure",
|
||||
"Characteristic": "Characteristic",
|
||||
"targetScore": "Target Score"
|
||||
"targetScore": "Target Score",
|
||||
"gears": "Gears",
|
||||
"armors": "Armors",
|
||||
"motivations": "Motivations",
|
||||
"mentalDisorders": "Mental Disorders",
|
||||
"bonds": "Bonds",
|
||||
"arcane": "Arcane",
|
||||
"archetypes": "Archetypes",
|
||||
"bondType": "Bond Type",
|
||||
"injuries": "Injuries",
|
||||
"damageShort": "Dmg",
|
||||
"status": "Status",
|
||||
"mentaldisorders": "Mental Disorders",
|
||||
"newBond": "New Bond",
|
||||
"newMotivation": "New Motivation",
|
||||
"newMentalDisorder": "New Mental Disorder",
|
||||
"newWeapon": "New Weapon",
|
||||
"newArmor": "New Armor",
|
||||
"newInjury": "New Injury",
|
||||
"newGear": "New Gear",
|
||||
"newArcane": "New Arcane",
|
||||
"newArchetype": "New Archetype",
|
||||
"newSkill": "New Skill"
|
||||
},
|
||||
"Edit": "Edit",
|
||||
"Delete": "Delete",
|
||||
|
@ -5,14 +5,21 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["protagonist"],
|
||||
position: {
|
||||
width: 840,
|
||||
width: 848,
|
||||
height: 620,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["protagonist-content"],
|
||||
},
|
||||
actions: {
|
||||
createEquipment: CthulhuEternalProtagonistSheet.#onCreateEquipment,
|
||||
createGear: CthulhuEternalProtagonistSheet.#onCreateGear,
|
||||
createArmor: CthulhuEternalProtagonistSheet.#onCreateArmor,
|
||||
createWeapon: CthulhuEternalProtagonistSheet.#onCreateWeapon,
|
||||
createBond: CthulhuEternalProtagonistSheet.#onCreateBond,
|
||||
createInjury: CthulhuEternalProtagonistSheet.#onCreateInjury,
|
||||
createMentalDisorder: CthulhuEternalProtagonistSheet.#onCreateMentalDisorder,
|
||||
createMotivation: CthulhuEternalProtagonistSheet.#onCreateMotivation,
|
||||
createSkill: CthulhuEternalProtagonistSheet.#onCreateSkill
|
||||
},
|
||||
}
|
||||
|
||||
@ -27,6 +34,9 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
skills: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/protagonist-skills.hbs",
|
||||
},
|
||||
status: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/protagonist-status.hbs",
|
||||
},
|
||||
equipment: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/protagonist-equipment.hbs",
|
||||
},
|
||||
@ -47,6 +57,7 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
#getTabs() {
|
||||
const tabs = {
|
||||
skills: { id: "skills", group: "sheet", icon: "fa-solid fa-shapes", label: "CTHULHUETERNAL.Label.skills" },
|
||||
status: { id: "status", group: "sheet", icon: "fa-solid fa-file-waveform", label: "CTHULHUETERNAL.Label.status" },
|
||||
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" },
|
||||
}
|
||||
@ -104,8 +115,15 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
context.armors = doc.itemTypes.armor
|
||||
context.gears = doc.itemTypes.gear
|
||||
break
|
||||
case "status":
|
||||
context.tab = context.tabs.status
|
||||
context.injuries = doc.itemTypes.injury
|
||||
context.mentaldisorders = doc.itemTypes.mentaldisorder
|
||||
context.bonds = doc.itemTypes.bond
|
||||
break
|
||||
case "biography":
|
||||
context.tab = context.tabs.biography
|
||||
context.motivations = doc.itemTypes.motivation
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(doc.system.description, { async: true })
|
||||
context.enrichedNotes = await TextEditor.enrichHTML(doc.system.notes, { async: true })
|
||||
break
|
||||
@ -118,15 +136,36 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
* @param {Event} event The initiating click event.
|
||||
* @param {HTMLElement} target The current target of the event listener.
|
||||
*/
|
||||
static #onCreateEquipment(event, target) {
|
||||
// Création d'une armure
|
||||
if (event.shiftKey) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newArmor"), type: "armor" }])
|
||||
}
|
||||
// Création d'une arme
|
||||
else {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newWeapon"), type: "weapon" }])
|
||||
}
|
||||
static #onCreateGear(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newGear"), type: "gear" }])
|
||||
}
|
||||
|
||||
static #onCreateWeapon(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newWeapon"), type: "weapon" }])
|
||||
}
|
||||
|
||||
static #onCreateArmor(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newArmor"), type: "armor" }])
|
||||
}
|
||||
|
||||
static #onCreateBond(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newBond"), type: "bond" }])
|
||||
}
|
||||
|
||||
static #onCreateInjury(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newInjury"), type: "injury" }])
|
||||
}
|
||||
|
||||
static #onCreateMentalDisorder(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newMentalDisorder"), type: "mentaldisorder" }])
|
||||
}
|
||||
|
||||
static #onCreateMotivation(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newMotivation"), type: "motivation" }])
|
||||
}
|
||||
|
||||
static #onCreateSkill(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newSkill"), type: "skill" }])
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5,21 +5,6 @@ import * as BOND from "./bond.mjs"
|
||||
|
||||
export const SYSTEM_ID = "fvtt-cthulhu-eternal"
|
||||
|
||||
export const AVAILABLE_SETTINGS = {
|
||||
common: "CTHULHUETERNAL.Settings.Common",
|
||||
modern: "CTHULHUETERNAL.Settings.Modern",
|
||||
jazz: "CTHULHUETERNAL.Settings.Jazz",
|
||||
future: "CTHULHUETERNAL.Settings.Future",
|
||||
coldwar: "CTHULHUETERNAL.Settings.ColdWar",
|
||||
ww2: "CTHULHUETERNAL.Settings.WW2",
|
||||
ww1: "CTHULHUETERNAL.Settings.WW1",
|
||||
victorian: "CTHULHUETERNAL.Settings.Victorian",
|
||||
revolution: "CTHULHUETERNAL.Settings.Revolution",
|
||||
medieval: "CTHULHUETERNAL.Settings.Medieval",
|
||||
ageofsail: "CTHULHUETERNAL.Settings.AgeOfSail",
|
||||
classical: "CTHULHUETERNAL.Settings.Classical"
|
||||
}
|
||||
|
||||
export const ASCII = `
|
||||
▄████▄ ▄▄▄█████▓ ██░ ██ █ ██ ██▓ ██░ ██ █ ██ ▓█████▄▄▄█████▓▓█████ ██▀███ ███▄ █ ▄▄▄ ██▓
|
||||
▒██▀ ▀█ ▓ ██▒ ▓▒▓██░ ██▒ ██ ▓██▒▓██▒ ▓██░ ██▒ ██ ▓██▒ ▓█ ▀▓ ██▒ ▓▒▓█ ▀ ▓██ ▒ ██▒ ██ ▀█ █ ▒████▄ ▓██▒
|
||||
@ -31,10 +16,155 @@ export const ASCII = `
|
||||
░ ░ ░ ░░ ░ ░░░ ░ ░ ░ ░ ░ ░░ ░ ░░░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░ ░ ▒ ░ ░
|
||||
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
░
|
||||
|
||||
|
||||
`
|
||||
|
||||
|
||||
export const AVAILABLE_SETTINGS = {
|
||||
modern: "CTHULHUETERNAL.Settings.Modern",
|
||||
jazz: "CTHULHUETERNAL.Settings.Jazz",
|
||||
future: "CTHULHUETERNAL.Settings.Future",
|
||||
coldwar: "CTHULHUETERNAL.Settings.ColdWar",
|
||||
ww2: "CTHULHUETERNAL.Settings.WW2",
|
||||
ww1: "CTHULHUETERNAL.Settings.WW1",
|
||||
victorian: "CTHULHUETERNAL.Settings.Victorian",
|
||||
revolution: "CTHULHUETERNAL.Settings.Revolution",
|
||||
medieval: "CTHULHUETERNAL.Settings.Medieval",
|
||||
ageofsail: "CTHULHUETERNAL.Settings.AgeOfSail",
|
||||
classical: "CTHULHUETERNAL.Settings.Classical",
|
||||
postapo: "CTHULHUETERNAL.Settings.PostApo"
|
||||
}
|
||||
|
||||
export const ERA_CSS = {
|
||||
jazz: { primaryFont: "RozhaOne", secondaryFont: "RozhaOne", titleFont: "Broadway", imgFilter: "brightness(0) saturate(100%) invert(52%) sepia(9%) saturate(2368%) hue-rotate(360deg) brightness(86%) contrast(84%)" },
|
||||
modern: { primaryFont: "Georama", secondaryFont: "Georama", titleFont: "Georama", imgFilter: "brightness(0) saturate(100%) invert(92%) sepia(11%) saturate(1214%) hue-rotate(51deg) brightness(93%) contrast(86%)" },
|
||||
future: { primaryFont: "Megrim", secondaryFont: "Megrim", titleFont: "Seabreed", imgFilter: "brightness(0) saturate(100%) invert(83%) sepia(30%) saturate(588%) hue-rotate(168deg) brightness(105%) contrast(103%)" },
|
||||
victorian: { primaryFont: "Volkhov", secondaryFont: "Volkhov", titleFont: "Excelsior", imgFilter: "brightness(0) saturate(100%) invert(100%) sepia(59%) saturate(1894%) hue-rotate(337deg) brightness(88%) contrast(98%)" },
|
||||
coldwar: { primaryFont: "BebasNeue", secondaryFont: "BebasNeue", titleFont: "TopSecret", imgFilter: "brightness(0) saturate(100%) invert(81%) sepia(14%) saturate(2508%) hue-rotate(202deg) brightness(99%) contrast(105%)"},
|
||||
revolution: { primaryFont: "IMFell", secondaryFont: "IMFell", titleFont: "Dominican", imgFilter: "brightness(0) saturate(100%) invert(81%) sepia(25%) saturate(386%) hue-rotate(7deg) brightness(101%) contrast(84%)" },
|
||||
medieval: { primaryFont: "UncialAntiqua", secondaryFont: "UncialAntiqua", titleFont: "Luminari", imgFilter: "brightness(0) saturate(100%) invert(93%) sepia(46%) saturate(354%) hue-rotate(321deg) brightness(93%) contrast(87%)"},
|
||||
ww2: { primaryFont: "SairaStencilOne", secondaryFont: "SairaStencilOne", titleFont: "Armalite", imgFilter: "brightness(0) saturate(100%) invert(95%) sepia(9%) saturate(1471%) hue-rotate(342deg) brightness(103%) contrast(107%)"},
|
||||
ww1: { primaryFont: "CarterOne", secondaryFont: "CarterOne", titleFont: "SigmarOne", imgFilter: "brightness(0) saturate(100%) invert(90%) sepia(38%) saturate(341%) hue-rotate(21deg) brightness(105%) contrast(105%)"},
|
||||
ageofsail: { primaryFont: "Tangerine", secondaryFont: "Tangerine", titleFont: "P22Operina", imgFilter: "brightness(0) saturate(100%) invert(43%) sepia(74%) saturate(3154%) hue-rotate(336deg) brightness(95%) contrast(83%)" },
|
||||
classical: { primaryFont: "SpectralSC", secondaryFont: "SpectralSC", titleFont: "TrajanPro", imgFilter: "brightness(0) saturate(100%) invert(52%) sepia(32%) saturate(7492%) hue-rotate(265deg) brightness(89%) contrast(95%)" },
|
||||
postapo: { primaryFont: "Teko", secondaryFont: "Teko", titleFont: "Teko", imgFilter: "brightness(0) saturate(100%) invert(44%) sepia(55%) saturate(2341%) hue-rotate(329deg) brightness(122%) contrast(103%))" }
|
||||
}
|
||||
|
||||
export const RESOURCE_RATING = {
|
||||
jazz: {
|
||||
0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"},
|
||||
4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 700, assets: "CTHULHUETERNAL.Resource.PoorJazz"},
|
||||
8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 3000, assets: "CTHULHUETERNAL.Resource.AverageJazz"},
|
||||
12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 5000, assets: "CTHULHUETERNAL.Resource.AboveAverageJazz"},
|
||||
16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 10000, assets: "CTHULHUETERNAL.Resource.WellOffJazz"},
|
||||
18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 15000, assets: "CTHULHUETERNAL.Resource.RichJazz"},
|
||||
19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 50000, assets: "CTHULHUETERNAL.Resource.VeryRichJazz"},
|
||||
20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 100000, assets: "CTHULHUETERNAL.Resource.SuperRichJazz"}
|
||||
},
|
||||
modern: {
|
||||
0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"},
|
||||
4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 20000, assets: "CTHULHUETERNAL.Resource.PoorModern"},
|
||||
8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 50000, assets: "CTHULHUETERNAL.Resource.AverageModern"},
|
||||
12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 100000, assets: "CTHULHUETERNAL.Resource.AboveAverageModern"},
|
||||
16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 150000, assets: "CTHULHUETERNAL.Resource.WellOffModern"},
|
||||
18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 20000, assets: "CTHULHUETERNAL.Resource.RichModern"},
|
||||
19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 500000, assets: "CTHULHUETERNAL.Resource.VeryRichModern"},
|
||||
20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 1000000, assets: "CTHULHUETERNAL.Resource.SuperRichModern"}
|
||||
},
|
||||
victorian: {
|
||||
0: {name: "Penury", description: "CTHULHUETERNAL.Resource.Penury", income: 0, assets: "CTHULHUETERNAL.Resource.NoAssets"},
|
||||
4: {name: "Poor", description: "CTHULHUETERNAL.Resource.Poor", income: 30, assets: "CTHULHUETERNAL.Resource.PoorVictorian"},
|
||||
8: {name: "Average", description: "CTHULHUETERNAL.Resource.Average", income: 90, assets: "CTHULHUETERNAL.Resource.AverageVictorian"},
|
||||
12: {name: "Above Average", description: "CTHULHUETERNAL.Resource.AboveAverage", income: 400, assets: "CTHULHUETERNAL.Resource.AboveAverageVictorian"},
|
||||
16: {name: "Well Off", description: "CTHULHUETERNAL.Resource.WellOff", income: 1500, assets: "CTHULHUETERNAL.Resource.WellOffVictorian"},
|
||||
18: {name: "Rich", description: "CTHULHUETERNAL.Resource.Rich", income: 5000, assets: "CTHULHUETERNAL.Resource.RichVictorian"},
|
||||
19: {name: "Very Rich", description: "CTHULHUETERNAL.Resource.VeryRich", income: 40000, assets: "CTHULHUETERNAL.Resource.VeryRichVictorian"},
|
||||
20: {name: "Super Rich", description: "CTHULHUETERNAL.Resource.SuperRich", income: 200000, assets: "CTHULHUETERNAL.Resource.SuperRichVictorian"}
|
||||
}
|
||||
}
|
||||
|
||||
export const MENTAL_ILLNESS_CURE_SKILL = {
|
||||
jazz: "CTHULHUETERNAL.Skill.Psychoanalyze",
|
||||
modern: "CTHULHUETERNAL.Skill.Psychoanalyze",
|
||||
victorian: "CTHULHUETERNAL.Skill.Reassure",
|
||||
}
|
||||
|
||||
export const WEAPON_SKILL_MAPPING = {
|
||||
modern: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
jazz: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
victorian: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
coldwar: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
ww1: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
ww2: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
future: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.FirearmsBeams",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.FirearmsBeams",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
revolution: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.RangedWeapons",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
ageofsail: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.RangedWeapons",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"rangedfirearm": "CTHULHUETERNAL.Skill.Firearms",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
medieval: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.RangedWeapons",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
},
|
||||
classical: {
|
||||
"melee": "CTHULHUETERNAL.Skill.Melee",
|
||||
"rangedprimitive": "CTHULHUETERNAL.Skill.RangedWeapons",
|
||||
"rangedthrown": "CTHULHUETERNAL.Skill.Athletics",
|
||||
"unarmed": "CTHULHUETERNAL.Skill.UnarmedCombat"
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Include all constant definitions within the SYSTEM global export
|
||||
* @type {Object}
|
||||
@ -45,7 +175,11 @@ export const SYSTEM = {
|
||||
HARSHNESS: PROTAGONIST.HARSHNESS,
|
||||
WEAPON_TYPE: WEAPON.WEAPON_TYPE,
|
||||
WEAPON_SUBTYPE: WEAPON.WEAPON_SUBTYPE,
|
||||
WEAPON_SKILL_MAPPING,
|
||||
BOND_TYPE: BOND.BOND_TYPE,
|
||||
AVAILABLE_SETTINGS,
|
||||
RESOURCE_RATING,
|
||||
MENTAL_ILLNESS_CURE_SKILL,
|
||||
ERA_CSS,
|
||||
ASCII
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ export const defaultItemImg = {
|
||||
skill: "systems/fvtt-cthulhu-eternal/assets/icons/icon_skill.svg",
|
||||
archetype: "systems/fvtt-cthulhu-eternal/assets/icons/icon_archetype.svg",
|
||||
bond: "systems/fvtt-cthulhu-eternal/assets/icons/icon_bond.svg",
|
||||
mentaldisorder: "systems/fvtt-cthulhu-eternal/assets/icons/icon_mentaldisorder.svg",
|
||||
mentaldisorder: "systems/fvtt-cthulhu-eternal/assets/icons/icon_mental_disorder.svg",
|
||||
arcane: "systems/fvtt-cthulhu-eternal/assets/icons/icon_arcane.svg",
|
||||
injury: "systems/fvtt-cthulhu-eternal/assets/icons/icon_injury.svg",
|
||||
motivation: "systems/fvtt-cthulhu-eternal/assets/icons/icon_motivation.svg",
|
||||
|
@ -130,6 +130,8 @@ export default class CthulhuEternalRoll extends Roll {
|
||||
rollItem: foundry.utils.duplicate(options.rollItem), // Object only, no class
|
||||
initialScore: options.initialScore,
|
||||
targetScore: options.initialScore,
|
||||
isLowWP: options.isLowWP,
|
||||
isZeroWP: options.isZeroWP,
|
||||
rollModes,
|
||||
fieldRollMode,
|
||||
choiceModifier,
|
||||
@ -167,23 +169,22 @@ export default class CthulhuEternalRoll extends Roll {
|
||||
// If the user cancels the dialog, exit
|
||||
if (rollContext === null) return
|
||||
|
||||
const rollData = {
|
||||
rollType: options.rollType,
|
||||
rollItem: options.rollItem,
|
||||
actorId: options.actorId,
|
||||
actorName: options.actorName,
|
||||
actorImage: options.actorImage,
|
||||
rollMode: rollContext.visibility,
|
||||
hasTarget: options.hasTarget,
|
||||
initialScore: options.initialScore,
|
||||
targetName,
|
||||
targetArmor,
|
||||
targetMalus,
|
||||
...rollContext,
|
||||
}
|
||||
let rollData = foundry.utils.mergeObject(foundry.utils.duplicate(options), rollContext)
|
||||
rollData.rollMode = rollContext.visibility
|
||||
rollData.targetName = targetName
|
||||
rollData.targetArmor = targetArmor
|
||||
rollData.targetMalus = targetMalus
|
||||
|
||||
// Update target score
|
||||
console.log(rollData)
|
||||
rollData.targetScore = Math.min( Math.max(options.initialScore + Number(rollData.modifier), 0), 100)
|
||||
if ( rollData.isLowWP ) {
|
||||
rollData.targetScore -= 20
|
||||
}
|
||||
if ( rollData.isZeroWP ) {
|
||||
rollData.targetScore = 0
|
||||
}
|
||||
rollData.targetScore = Math.min( Math.max(rollData.targetScore, 0), 100)
|
||||
|
||||
/**
|
||||
* A hook event that fires before the roll is made.
|
||||
@ -270,32 +271,25 @@ export default class CthulhuEternalRoll extends Roll {
|
||||
* @property {string} tooltip - The tooltip text for the chat card.
|
||||
*/
|
||||
async _getChatCardData(isPrivate) {
|
||||
const cardData = {
|
||||
css: [SYSTEM.id, "dice-roll"],
|
||||
data: this.data,
|
||||
diceTotal: this.dice.reduce((t, d) => t + d.total, 0),
|
||||
isGM: game.user.isGM,
|
||||
rollItem: this.options.rollItem,
|
||||
initialScore: this.options.initialScore,
|
||||
targetScore: this.options.targetScore,
|
||||
rollType: this.options.rollType,
|
||||
modifier: this.options.modifier,
|
||||
formula: this.formula,
|
||||
total: this.total,
|
||||
isSuccess: this.options.isSuccess,
|
||||
isFailure: this.options.isFailure,
|
||||
isCritical: this.options.isCritical,
|
||||
actorId: this.actorId,
|
||||
actingCharName: this.actorName,
|
||||
actingCharImg: this.actorImage,
|
||||
resultType: this.resultType,
|
||||
hasTarget: this.hasTarget,
|
||||
targetName: this.targetName,
|
||||
targetArmor: this.targetArmor,
|
||||
realDamage: this.realDamage,
|
||||
isPrivate: isPrivate,
|
||||
}
|
||||
let cardData = foundry.utils.duplicate(this.options)
|
||||
cardData.css = [SYSTEM.id, "dice-roll"]
|
||||
cardData.data = this.data
|
||||
cardData.diceTotal = this.dice.reduce((t, d) => t + d.total, 0)
|
||||
cardData.isGM = game.user.isGM
|
||||
cardData.formula = this.formula
|
||||
cardData.total = this.total
|
||||
cardData.actorId = this.actorId
|
||||
cardData.actingCharName = this.actorName
|
||||
cardData.actingCharImg = this.actorImage
|
||||
cardData.resultType = this.resultType
|
||||
cardData.hasTarget = this.hasTarget
|
||||
cardData.targetName = this.targetName
|
||||
cardData.targetArmor = this.targetArmor
|
||||
cardData.realDamage = this.realDamage
|
||||
cardData.isPrivate = isPrivate
|
||||
|
||||
console.log(cardData)
|
||||
|
||||
cardData.cssClass = cardData.css.join(" ")
|
||||
cardData.tooltip = isPrivate ? "" : await this.getTooltip()
|
||||
return cardData
|
||||
|
@ -5,7 +5,7 @@ export default class CthulhuEternalArchetype extends foundry.abstract.TypeDataMo
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
const schema = {}
|
||||
|
||||
schema.settings = new fields.StringField({ required: true, initial: "common", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "modern", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
|
||||
schema.description = new fields.HTMLField({
|
||||
required: false,
|
||||
|
@ -6,7 +6,7 @@ export default class CthulhuEternalArmor extends foundry.abstract.TypeDataModel
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "common", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "modern", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
schema.protection = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
|
||||
schema.resourceLevel = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
|
||||
|
@ -7,7 +7,7 @@ export default class CthulhuEternalGHear extends foundry.abstract.TypeDataModel
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "common", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "modern", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
schema.resourceLevel = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
|
||||
return schema
|
||||
|
@ -142,6 +142,15 @@ export default class CthulhuEternalProtagonist extends foundry.abstract.TypeData
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
isLowWP() {
|
||||
return this.wp.value <= 2
|
||||
}
|
||||
|
||||
isZeroWP() {
|
||||
return this.wp.value === 0
|
||||
}
|
||||
|
||||
/** */
|
||||
/**
|
||||
* Rolls a dice for a character.
|
||||
@ -168,6 +177,8 @@ export default class CthulhuEternalProtagonist extends foundry.abstract.TypeData
|
||||
let roll = await CthulhuEternalRoll.prompt({
|
||||
rollType,
|
||||
rollItem,
|
||||
isLowWP: this.isLowWP(),
|
||||
isZeroWP: this.isZeroWP(),
|
||||
actorId: this.parent.id,
|
||||
actorName: this.parent.name,
|
||||
actorImage: this.parent.img,
|
||||
|
@ -6,9 +6,9 @@ export default class CthulhuEternalSkill extends foundry.abstract.TypeDataModel
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "common", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "modern", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
|
||||
schema.base = new fields.StringField({ required: true, initial: "WIS" })
|
||||
schema.base = new fields.StringField({ required: true, initial: "0" })
|
||||
schema.bonus = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
|
||||
schema.diceEvolved = new fields.BooleanField({ required: true, initial: true })
|
||||
schema.rollFailed = new fields.BooleanField({ required: true, initial: false })
|
||||
|
@ -7,7 +7,7 @@ export default class LethalFantasySkill extends foundry.abstract.TypeDataModel {
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "common", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
schema.settings = new fields.StringField({ required: true, initial: "modern", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
|
||||
schema.weaponType = new fields.StringField({ required: true, initial: "melee", choices: SYSTEM.WEAPON_TYPE })
|
||||
schema.damage = new fields.StringField({required: true, initial: "1d6"})
|
||||
|
@ -1,6 +1,19 @@
|
||||
|
||||
export class CthulhuEternalUtils {
|
||||
|
||||
static registerSettings() {
|
||||
game.settings.register("fvtt-cthulhu-eternal", "settings-era", {
|
||||
name: game.i18n.localize("CHTUHLUETERNAL.Settings.era"),
|
||||
hint: game.i18n.localize("CHTUHLUETERNAL.Settings.eraHint"),
|
||||
default: true,
|
||||
scope: "world",
|
||||
type: String,
|
||||
choices: SYSTEM.AVAILABLE_SETTINGS,
|
||||
config: true,
|
||||
onChange: _ => window.location.reload()
|
||||
});
|
||||
}
|
||||
|
||||
static registerHandlebarsHelpers() {
|
||||
|
||||
Handlebars.registerHelper('isNull', function (val) {
|
||||
@ -153,4 +166,17 @@ export class CthulhuEternalUtils {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
static setupCSSRootVariables() {
|
||||
const era = game.settings.get("fvtt-cthulhu-eternal", "settings-era")
|
||||
|
||||
let eraCSS = SYSTEM.ERA_CSS[era];
|
||||
if (!eraCSS) eraCSS = SYSTEM.ERA_CSS["jazz"];
|
||||
|
||||
document.documentElement.style.setProperty('--font-primary', eraCSS.primaryFont);
|
||||
document.documentElement.style.setProperty('--font-secondary', eraCSS.secondaryFont);
|
||||
document.documentElement.style.setProperty('--font-title', eraCSS.titleFont);
|
||||
document.documentElement.style.setProperty('--img-icon-color-filter', eraCSS.imgFilter);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,107 @@
|
||||
@font-face {
|
||||
font-family: "Georama";
|
||||
src: url("../assets/fonts/georama.woff2") format("woff2");
|
||||
src: url("../assets/fonts/Georama-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Tangerine";
|
||||
src: url("../assets/fonts/Tangerine-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "TrajanPro";
|
||||
src: url("../assets/fonts/Trajan-Pro-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Teko";
|
||||
src: url("../assets/fonts/Teko-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "P22Operina";
|
||||
src: url("../assets/fonts/P22-Operina.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "SpectralSC";
|
||||
src: url("../assets/fonts/SpectralSC-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: "RozhaOne";
|
||||
src: url("../assets/fonts/RozhaOne-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Megrim";
|
||||
src: url("../assets/fonts/Megrim-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Volkhov";
|
||||
src: url("../assets/fonts/Volkhov-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "IMFell";
|
||||
src: url("../assets/fonts/IMFell.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Dominican";
|
||||
src: url("../assets/fonts/dominican.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "UncialAntiqua";
|
||||
src: url("../assets/fonts/UncialAntiqua-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Luminari";
|
||||
src: url("../assets/fonts/Luminari-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "SairaStencilOne";
|
||||
src: url("../assets/fonts/SairaStencilOne-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Armalite";
|
||||
src: url("../assets/fonts/armalite.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "CarterOne";
|
||||
src: url("../assets/fonts/CarterOne-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "SigmarOne";
|
||||
src: url("../assets/fonts/SigmarOne-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Excelsior";
|
||||
src: url("../assets/fonts/Excelsior-Normal.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "TopSecret";
|
||||
src: url("../assets/fonts/Top-Secret.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "BebasNeue";
|
||||
src: url("../assets/fonts/BebasNeue-Regular.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Seabreed";
|
||||
src: url("../assets/fonts/Seabreed.ttf") format("truetype");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
|
@ -3,19 +3,22 @@
|
||||
--background-image-base: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)),
|
||||
url("../assets/ui/jazzage_background_main.webp");
|
||||
/*--background-image-base: url("../assets/ui/jazzage_background_main.webp");*/
|
||||
--font-primary: "Georama";
|
||||
--font-secondary: "Georama";
|
||||
--font-primary: "RozhaOne";
|
||||
--font-secondary: "RozhaOne";
|
||||
--font-title: "Broadway";
|
||||
--logo-standard: url("../assets/logos/reanimated-ce-logo.webp");
|
||||
--color-success: darkgreen;
|
||||
--color-failure: darkred;
|
||||
--color-critical-success: lightgreen;
|
||||
--color-critical-failure: lightcoral;
|
||||
--img-icon-color-filter: brightness(0) saturate(100%) invert(52%) sepia(9%) saturate(2368%) hue-rotate(360deg) brightness(86%) contrast(84%);
|
||||
}
|
||||
|
||||
.era-icon-color {
|
||||
.item .thumbnail,
|
||||
.item-img {
|
||||
/*filter: invert(90%) sepia(10%) saturate(1215%) hue-rotate(55deg) brightness(93%) contrast(89%);*/
|
||||
/*filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);*/
|
||||
filter: var(--img-icon-color-filter);
|
||||
}
|
||||
|
||||
#logo {
|
||||
|
@ -12,7 +12,6 @@
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
|
||||
|
||||
.protagonist-pc {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
@ -67,7 +66,36 @@
|
||||
width: 400px;
|
||||
}
|
||||
}
|
||||
.san {
|
||||
input {
|
||||
min-width: 2.2rem;
|
||||
}
|
||||
.san-checkbox {
|
||||
min-width: 1rem;
|
||||
max-width: 1rem;
|
||||
}
|
||||
.label-field {
|
||||
flex-grow: 0;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.spacing {
|
||||
margin-left: 4px;
|
||||
}
|
||||
}
|
||||
.willpower {
|
||||
input {
|
||||
min-width: 2.2rem;
|
||||
}
|
||||
.label-field {
|
||||
flex-grow: 0;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.checkbox {
|
||||
min-width: 1rem;
|
||||
max-width: 1rem;
|
||||
}
|
||||
|
||||
}
|
||||
.protagonist-infos {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@ -154,7 +182,6 @@
|
||||
.protagonist-characteristic-edit {
|
||||
min-width: 400px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.protagonist-biography {
|
||||
@ -165,6 +192,39 @@
|
||||
prose-mirror.active {
|
||||
min-height: 150px;
|
||||
}
|
||||
.field-label {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.biodata {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 8px;
|
||||
}
|
||||
.motivations {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.motivation {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab.protagonist-skills {
|
||||
@ -209,6 +269,101 @@
|
||||
}
|
||||
}
|
||||
|
||||
.tab.protagonist-status {
|
||||
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;
|
||||
}
|
||||
}
|
||||
.bonds {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.bond {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.type {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.level {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.mentaldisorders {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.mentaldisorder {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
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 {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab.protagonist-equipment {
|
||||
background-color: var(--color-light-1);
|
||||
display: grid;
|
||||
@ -221,16 +376,35 @@
|
||||
}
|
||||
.weapons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.weapon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -242,10 +416,29 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.protection {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -257,10 +450,29 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px 0 0 0;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<section>
|
||||
<div class="header">
|
||||
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
<img class="item-img era-icon-color" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
{{formInput fields.name value=source.name}}
|
||||
</div>
|
||||
|
||||
|
@ -2,13 +2,43 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.biodata"}}</legend>
|
||||
{{formInput systemFields.biodata.fields.harshness value=system.biodata.harshness name="system.biodata.harshness" localize=true}}
|
||||
<div class="biodata">
|
||||
{{formField systemFields.biodata.fields.harshness value=system.biodata.harshness name="system.biodata.harshness" localize=true}}
|
||||
{{formField systemFields.biodata.fields.age value=system.biodata.age name="system.biodata.age" localize=true classes="field-label"}}
|
||||
{{formField systemFields.biodata.fields.gender value=system.biodata.gender name="system.biodata.gender" localize=true classes="field-label"}}
|
||||
{{formField systemFields.biodata.fields.height value=system.biodata.height name="system.biodata.height" localize=true classes="field-label"}}
|
||||
{{formField systemFields.biodata.fields.eyes value=system.biodata.eyes name="system.biodata.eyes" localize=true classes="field-label"}}
|
||||
{{formField systemFields.biodata.fields.hair value=system.biodata.hair name="system.biodata.hair" localize=true classes="field-label"}}
|
||||
{{formField systemFields.biodata.fields.gender value=system.biodata.gender name="system.biodata.gender" localize=true classes="field-label"}}
|
||||
{{formField systemFields.biodata.fields.birthplace value=system.biodata.birthplace name="system.biodata.birthplace" localize=true classes="field-label"}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.motivations"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addMotivation"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createMotivation"></i></a>{{/if}}</legend>
|
||||
<div class="motivations">
|
||||
{{#each motivations as |item|}}
|
||||
{{!log 'armor' this}}
|
||||
<div class="motivation" 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>
|
||||
<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>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=description value=system.description name="system.description" toggled=true}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.notes"}}</legend>
|
||||
{{formInput systemFields.notes enriched=notes value=system.notes name="system.notes" toggled=true}}
|
||||
|
@ -2,25 +2,28 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.weapons"}}{{#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>
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createWeapon"></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">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
<div class="name rollable" 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}}
|
||||
<a class="damage rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage" data-roll-value="{{item.system.damage}}">{{localize "CTHULHUETERNAL.Label.damageShort"}} : {{item.system.damage}}</a>
|
||||
<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>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.armors"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addArmor"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createArmor"></i></a>{{/if}}</legend>
|
||||
<div class="armors">
|
||||
{{#each armors as |item|}}
|
||||
{{!log 'armor' this}}
|
||||
@ -29,7 +32,7 @@
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
{{localize "CTHULHUETERNAL.Label.armor"}} : {{item.system.protection}}
|
||||
<span class="protection">{{localize "CTHULHUETERNAL.Label.armor"}} : {{item.system.protection}}</span>
|
||||
<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>
|
||||
@ -37,7 +40,11 @@
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.gears"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addGear"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createGear"></i></a>{{/if}}</legend>
|
||||
<div class="gears">
|
||||
{{#each gears as |item|}}
|
||||
{{!log 'armor' this}}
|
||||
@ -46,7 +53,6 @@
|
||||
<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>
|
||||
|
@ -29,44 +29,47 @@
|
||||
</div>
|
||||
|
||||
|
||||
<fieldset>
|
||||
<fieldset class="san">
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.SAN"}}</legend>
|
||||
<div class="flexrow">
|
||||
{{localize "CTHULHUETERNAL.Label.current"}} {{formField systemFields.san.fields.value
|
||||
value=system.san.value}}
|
||||
{{localize "CTHULHUETERNAL.Label.max"}} {{formField systemFields.san.fields.max value=system.san.max
|
||||
rootId=partId disabled=true}}
|
||||
{{localize "CTHULHUETERNAL.Label.recovery"}} {{formField systemFields.san.fields.recovery
|
||||
value=system.san.recovery disabled=true}}
|
||||
<span data-tooltip='{{localize "CTHULHUETERNAL.Tooltip.sanBP"}}'>{{localize "CTHULHUETERNAL.Label.breakingPoint"}}</span> {{formField systemFields.san.fields.breakingPoint
|
||||
value=system.san.breakingPoint disabled=true}}
|
||||
<span class="label-field">{{localize "CTHULHUETERNAL.Label.current"}}</span>
|
||||
{{formField systemFields.san.fields.value value=system.san.value}}
|
||||
<span class="label-field">{{localize "CTHULHUETERNAL.Label.max"}}</span>
|
||||
{{formField systemFields.san.fields.max value=system.san.max rootId=partId disabled=true}}
|
||||
<span class="label-field">{{localize "CTHULHUETERNAL.Label.recovery"}}</span>
|
||||
{{formField systemFields.san.fields.recovery value=system.san.recovery disabled=true}}
|
||||
<span class="label-field" data-tooltip='{{localize "CTHULHUETERNAL.Tooltip.sanBP"}}'>{{localize
|
||||
"CTHULHUETERNAL.Label.breakingPoint"}}</span>
|
||||
{{formField systemFields.san.fields.breakingPoint value=system.san.breakingPoint disabled=true}}
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{localize "CTHULHUETERNAL.Label.violence"}}
|
||||
{{#each system.san.violence as |violence idx|}}
|
||||
<input type="checkbox" data-action="updateCheckboxArray" data-index="{{@index}}" data-name="violence" {{#if
|
||||
violence}} checked {{/if}}>
|
||||
<input class="san-checkbox" type="checkbox" data-action="updateCheckboxArray" data-index="{{@index}}"
|
||||
data-name="violence" {{#if violence}} checked {{/if}}>
|
||||
{{/each}}
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="spacing"></span>
|
||||
{{localize "CTHULHUETERNAL.Label.helplessness"}}
|
||||
{{#each system.san.helplessness as |helplessness idx|}}
|
||||
<input type="checkbox" data-action="updateCheckboxArray" data-index="{{@index}}" data-name="helplessness"
|
||||
{{#if helplessness}} checked {{/if}}>
|
||||
<input class="san-checkbox" type="checkbox" data-action="updateCheckboxArray" data-index="{{@index}}"
|
||||
data-name="helplessness" {{#if helplessness}} checked {{/if}}>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
|
||||
<fieldset class="willpower">
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.willpower"}}</legend>
|
||||
<div class="flexrow">
|
||||
{{localize "CTHULHUETERNAL.Label.current"}}{{formField systemFields.wp.fields.value value=system.wp.value}}
|
||||
{{localize "CTHULHUETERNAL.Label.max"}}{{formField systemFields.wp.fields.max value=system.wp.max rootId=partId disabled=true}}
|
||||
{{localize "CTHULHUETERNAL.Label.exhausted"}}{{formField systemFields.wp.fields.exhausted value=system.wp.exhausted }}
|
||||
<span class="label-field">{{localize "CTHULHUETERNAL.Label.current"}}</span>
|
||||
{{formField systemFields.wp.fields.value value=system.wp.value}}
|
||||
<span class="label-field">{{localize "CTHULHUETERNAL.Label.max"}}</span>
|
||||
{{formField systemFields.wp.fields.max value=system.wp.max rootId=partId disabled=true}}
|
||||
<span class="label-field">{{localize "CTHULHUETERNAL.Label.exhausted"}}</span>
|
||||
{{formField systemFields.wp.fields.exhausted value=system.wp.exhausted classes=checkbox}}
|
||||
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
@ -74,37 +77,43 @@
|
||||
<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="characteristic">
|
||||
<label class="rollable" data-roll-type="char" data-char-id="str">{{localize "CTHULHUETERNAL.Label.strShort"}}</label>
|
||||
<label class="rollable" data-roll-type="char" data-char-id="str">{{localize
|
||||
"CTHULHUETERNAL.Label.strShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.str.fields.value value=system.characteristics.str.value
|
||||
rootId=partId disabled=isPlayMode }}
|
||||
{{mul system.characteristics.str.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label class="rollable" data-roll-type="char" data-char-id="dex">{{localize "CTHULHUETERNAL.Label.dexShort"}}</label>
|
||||
<label class="rollable" data-roll-type="char" data-char-id="dex">{{localize
|
||||
"CTHULHUETERNAL.Label.dexShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.dex.fields.value value=system.characteristics.dex.value
|
||||
rootId=partId disabled=isPlayMode }}
|
||||
{{mul system.characteristics.dex.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label class="rollable" data-roll-type="char" data-char-id="con">{{localize "CTHULHUETERNAL.Label.conShort"}}</label>
|
||||
<label class="rollable" data-roll-type="char" data-char-id="con">{{localize
|
||||
"CTHULHUETERNAL.Label.conShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.con.fields.value value=system.characteristics.con.value
|
||||
rootId=partId disabled=isPlayMode }}
|
||||
{{mul system.characteristics.con.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label class="rollable" data-roll-type="char" data-char-id="int">{{localize "CTHULHUETERNAL.Label.intShort"}}</label>
|
||||
<label class="rollable" data-roll-type="char" data-char-id="int">{{localize
|
||||
"CTHULHUETERNAL.Label.intShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.int.fields.value value=system.characteristics.int.value
|
||||
rootId=partId disabled=isPlayMode }}
|
||||
{{mul system.characteristics.int.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label class="rollable" data-roll-type="char" data-char-id="pow">{{localize "CTHULHUETERNAL.Label.powShort"}}</label>
|
||||
<label class="rollable" data-roll-type="char" data-char-id="pow">{{localize
|
||||
"CTHULHUETERNAL.Label.powShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.pow.fields.value value=system.characteristics.pow.value
|
||||
rootId=partId disabled=isPlayMode }}
|
||||
{{mul system.characteristics.pow.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label class="rollable" data-roll-type="char" data-char-id="cha">{{localize "CTHULHUETERNAL.Label.chaShort"}}</label>
|
||||
<label class="rollable" data-roll-type="char" data-char-id="cha">{{localize
|
||||
"CTHULHUETERNAL.Label.chaShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.cha.fields.value value=system.characteristics.cha.value
|
||||
rootId=partId disabled=isPlayMode }}
|
||||
{{mul system.characteristics.cha.value 5}}
|
||||
|
68
templates/protagonist-status.hbs
Normal file
@ -0,0 +1,68 @@
|
||||
<section class="tab protagonist-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.bonds"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addBond"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createBond"></i></a>{{/if}}</legend>
|
||||
<div class="bonds">
|
||||
{{#each bonds as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="bond" 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>
|
||||
<div class="type">
|
||||
{{item.system.bondType}}
|
||||
</div>
|
||||
<div class="level">
|
||||
{{item.system.value}}
|
||||
</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>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.injuries"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addInjury"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createInjury"></i></a>{{/if}}</legend>
|
||||
<div class="injuries">
|
||||
{{#each injuries as |item|}}
|
||||
<div class="injury" 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>
|
||||
<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>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.mentaldisorders"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addMentalDisorder"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createMentalDisorder"></i></a>{{/if}}</legend>
|
||||
<div class="mentaldisorders">
|
||||
{{#each mentaldisorders as |item|}}
|
||||
{{!log 'armor' this}}
|
||||
<div class="mentaldisorder" 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>
|
||||
<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>
|
@ -8,6 +8,13 @@
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.characteristic"}}</legend>
|
||||
{{/if}}
|
||||
<div class="dialog-skill">{{rollItem.name}} : {{initialScore}}%</div>
|
||||
{{#if isZeroWP}}
|
||||
<div class="dialog-skill">Zero WP : Automatic failure (ie 0%)</div>
|
||||
{{else}}
|
||||
{{#if isLowWP}}
|
||||
<div class="dialog-skill">Low WP : -20%</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</fieldSet>
|
||||
|
||||
<fieldSet class="dialog-modifier">
|
||||
|