Initial import with skill sheet working

This commit is contained in:
2024-12-04 00:11:23 +01:00
commit 9050c80ab4
4488 changed files with 671048 additions and 0 deletions

View File

@ -0,0 +1,21 @@
#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);
}
}
}

16
styles/arcane.less Normal file
View File

@ -0,0 +1,16 @@
.arcane-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
label {
flex: 10%;
}
}

16
styles/armor.less Normal file
View File

@ -0,0 +1,16 @@
.armor-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
label {
flex: 10%;
}
}

26
styles/bond.less Normal file
View File

@ -0,0 +1,26 @@
.bond-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
input[type="checkbox"] {
font-size: var(--font-size-14);
width: 20px;
padding-top: 0;
}
input[type="checkbox"]:checked {
background-color: rgba(0, 0, 0, 0.1);
}
input[type="checkbox"]:checked::after {
color: rgba(0, 0, 0, 0.1);
}
}

332
styles/character.less Normal file
View File

@ -0,0 +1,332 @@
.character-content {
.sheet-common();
.character-sheet-common();
overflow: scroll;
}
.character-main {
display: flex;
.character-personnage {
display: flex;
gap: 10px;
flex: 1;
.character-gauche {
min-width: 180px;
display: flex;
flex-direction: column;
.character-gauche-image {
display: flex;
justify-content: center;
align-items: center;
padding-bottom: 20px;
.character-img {
height: 140px;
width: auto;
border: none;
}
}
.character-dv,
.character-dmax {
.form-fields {
flex: none;
}
}
.character-dmax-edit {
input {
display: flex;
width: 60px;
font-size: calc(var(--font-size-standard) * 1.4);
align-items: center;
justify-content: center;
padding: 0 5px 0 5px;
text-align: center;
}
}
}
.character-droite {
display: flex;
flex-direction: column;
gap: 5px;
.character-name {
display: flex;
input {
width: 400px;
}
}
.character-infos {
display: flex;
flex-direction: column;
gap: 10px;
label {
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 {
display: flex;
gap: 2px;
align-items: center;
.character-pv-value {
.form-fields input {
flex: none;
width: 50px;
margin-left: 10px;
font-size: calc(var(--font-size-standard) * 1.4);
}
}
.character-pv-max {
clear: both;
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 3px 0;
align-items: center;
input {
width: 50px;
text-align: center;
font-size: calc(var(--font-size-standard) * 1.4);
}
}
.pv-separator {
font-size: calc(var(--font-size-standard) * 1.2);
display: flex;
align-items: center;
justify-content: center;
}
}
}
}
}
.character-personnage-play {
min-width: 500px;
}
.character-personnage-edit {
min-width: 650px;
}
.character-caracteristiques {
display: flex;
flex-direction: column;
gap: 5px;
flex: 1;
.character-caracteristique {
display: flex;
align-items: center;
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
}
.form-group {
flex: 1;
padding-left: 5px;
.form-fields {
flex: none;
width: 70px;
}
}
.experience {
display: flex;
align-items: center;
gap: 10px;
margin-left: 10px;
input {
display: flex;
width: 70px;
font-size: calc(var(--font-size-standard) * 1.4);
align-items: center;
justify-content: center;
padding: 0 5px 0 5px;
}
input[type="number"] {
text-align: center;
}
input[type="checkbox"] {
width: 20px;
}
input[type="checkbox"]:checked {
background-color: rgba(0, 0, 0, 0.1);
}
input[type="checkbox"]:checked::after {
color: rgba(0, 0, 0, 0.1);
}
}
}
}
.character-caracteristiques-play {
min-width: 225px;
}
.character-caracteristiques-edit {
min-width: 400px;
}
.character-ressources {
display: flex;
flex-direction: column;
gap: 5px;
flex: 1;
.character-ressource {
display: flex;
align-items: center;
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor:
pointer;
}
.form-group {
flex: 1;
padding-left: 5px;
.form-fields {
flex: none;
width: 70px;
}
}
.character-ressource-edit {
display: flex;
align-items: center;
gap: 10px;
margin-left: 10px;
input {
display: flex;
width: 70px;
font-size: calc(var(--font-size-standard) * 1.4);
align-items: center;
justify-content: center;
padding: 0 5px 0 5px;
}
input[type="number"] {
text-align: center;
}
select {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.5);
text-align: center;
width: 75px;
}
}
}
}
.character-ressources-play {
min-width: 235px;
}
.character-ressources-edit {
min-width: 400px;
}
}
.character-biography {
prose-mirror.inactive {
min-height: 40px;
}
prose-mirror.active {
min-height: 150px;
}
}
.tab.character-items {
display: grid;
grid-template-columns: 1fr;
legend {
a {
font-size: calc(var(--font-size-standard) * 1.4);
padding-left: 5px;
}
}
.talents {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 10px;
.talent {
display: flex;
align-items: center;
gap: 10px;
.item-img {
width: 50px;
height: 50px;
}
}
}
.weapons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
.weapon {
display: flex;
align-items: center;
gap: 10px;
.item-img {
width: 50px;
height: 50px;
margin: 5px 0 0 0;
}
}
}
.armors {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
.armor {
display: flex;
align-items: center;
gap: 10px;
.item-img {
width: 50px;
height: 50px;
margin: 5px 0 0 0;
}
}
}
.spells {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
.spell {
display: flex;
gap: 10px;
}
}
.appris {
font-weight: bold;
}
prose-mirror.inactive {
min-height: 40px;
}
prose-mirror.active {
min-height: 150px;
}
}

40
styles/chat.less Normal file
View File

@ -0,0 +1,40 @@
&.fortune {
img {
border: 0px;
}
.intro-chat {
border-radius: 20px;
display: flex;
flex-direction: row;
.intro-img {
padding: 5px;
width: 80px;
align-self: center;
}
.intro-right {
display: flex;
flex-direction: column;
.introText {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.2);
width: 210px;
text-align: center;
}
}
}
.button.control, .fortune-accepted {
display: flex;
justify-content: center;
align-items: center;
font-size: calc(var(--font-size-standard) * 1.3);
}
}
&.ask-roll {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.2);
}

24
styles/fonts.less Normal file
View File

@ -0,0 +1,24 @@
@font-face {
font-family: "Cat Franken";
src: url("../fonts/catfranken-deutsch.ttf") format("truetype");
}
@font-face {
font-family: "Caslon";
src: url("../fonts/caslonpro-regular.otf") format("truetype");
}
@font-face {
font-family: "Caslon Bold";
src: url("../fonts/caslonpro-bold.otf") format("truetype");
}
@font-face {
font-family: "Caslon Bold Italic";
src: url("../fonts/caslonpro-bolditalic.otf") format("truetype");
}
@font-face {
font-family: "Caslon Italic";
src: url("../fonts/caslonpro-italic.otf") format("truetype");
}

View File

@ -0,0 +1,19 @@
@import "global.less";
.fvtt-cthulhu-eternal {
@import "mixins.less";
@import "character.less";
@import "skill.less";
@import "injury.less";
@import "weapon.less";
@import "armor.less";
@import "motivation.less";
@import "mentaldisorder.less";
@import "bond.less";
@import "chat.less";
@import "gear.less";
@import "arcane.less";
}
@import "roll.less";
@import "application-manager.less";

16
styles/gear.less Normal file
View File

@ -0,0 +1,16 @@
.gear-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
label {
flex: 10%;
}
}

59
styles/global.less Normal file
View File

@ -0,0 +1,59 @@
:root {
--font-size-standard: 1.0rem;
--background-image-base: url("../assets/parchment.jpg");
--font-secondary: "Amiri", serif;
--logo-standard: url("../assets/logos/reanimated-ce-logo.webp");
}
#logo {
content: var(--logo-standard);
width: 50px;
height: 50px;
margin-left: 15px;
}
#pause > img {
content: var(--logo-standard);
height: 192px;
width: 192px;
top: -45px;
left: calc(50% - 96px);
}
i.lethalfantasy {
width: 36px;
height: 36px;
background-image: var(--logo-standard);
background-size: 100%;
background-position: center;
background-repeat: no-repeat;
display: flex;
position: relative;
filter: grayscale(1);
transition: 0.3s;
}
.application.dialog.lethalfantasy {
font-family: var(--font-primary);
font-size: calc(var(--font-size-standard) * 1.0);
background-image: var(--background-image-base);
button:hover {
background: var(--color-dark-6);
}
.legend {
font-family: var(--font-primary);
}
}
#tooltip.tooltip-avantages {
max-width: 550px;
text-align: left;
}
.chat-message,
.chat-message.whisper {
font-family: var(--font-primary);
background-image: var(--background-image-base);
background-repeat: no-repeat;
background-size: 100% 100%;
}

26
styles/injury.less Normal file
View File

@ -0,0 +1,26 @@
.injury-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
input[type="checkbox"] {
font-size: var(--font-size-14);
width: 20px;
padding-top: 0;
}
input[type="checkbox"]:checked {
background-color: rgba(0, 0, 0, 0.1);
}
input[type="checkbox"]:checked::after {
color: rgba(0, 0, 0, 0.1);
}
}

View File

@ -0,0 +1,18 @@
.mentaldisorder-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
label {
flex: 10%;
}
}

88
styles/mixins.less Normal file
View File

@ -0,0 +1,88 @@
.sheet-common() {
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%;
input:disabled,
select:disabled {
background-color: rgba(0, 0, 0, 0.2);
border-color: transparent;
color: var(--color-dark-3);
}
input,
select {
background-color: rgba(0, 0, 0, 0.1);
border-color: var(--color-dark-6);
color: var(--color-dark-2);
}
input[name="name"] {
height: 50px;
margin-right: 10px;
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1);
font-weight: bold;
border: none;
}
fieldset {
margin-bottom: 5px;
border-radius: 5px;
}
.form-fields {
input,
select {
text-align: center;
font-size: calc(var(--font-size-standard) * 1.0);
}
select {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.0);
}
}
legend {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.2);
font-weight: bold;
letter-spacing: 1px;
}
}
.character-sheet-common {
label {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.2);
}
}
.item-sheet-common {
.form-fields {
padding-top: 5px;
}
label {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.0);
flex: 50%;
}
.align-top {
align-self: flex-start;
padding: 0.1rem;
margin-right: 0.2rem;
/*border-color: black;
border-width: 1px;
border-style: solid;
border-radius: 2%;*/
}
.shift-right {
margin-left: 2rem;
}
}

16
styles/motivation.less Normal file
View File

@ -0,0 +1,16 @@
.motivation-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
label {
flex: 10%;
}
}

112
styles/roll.less Normal file
View File

@ -0,0 +1,112 @@
.application.dialog.lethalfantasy {
color: var(--color-dark-1);
input,
select {
background-color: rgba(0, 0, 0, 0.1);
border-color: var(--color-dark-6);
color: var(--color-dark-2);
}
}
.lethalfantasy-roll-dialog {
fieldset {
padding: 10px;
}
}
input[name="selectAvantages"] {
border: none;
}
.dialog-aide-gene {
display: flex;
justify-content: center;
align-items: center;
select {
border: none;
background-color: rgba(0, 0, 0, 0.1);
color: var(--color-dark-2);
width: 60px;
text-align: center;
}
}
.dialog-modificateur {
display: flex;
justify-content: center;
align-items: center;
select {
border: none;
background-color: rgba(0, 0, 0, 0.1);
color: var(--color-dark-2);
width: 60px;
text-align: center;
}
}
.dialog-avantages {
#selectAvantages {
background-color: inherit;
text-align: center;
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.2);
}
}
.dialog-damage,
.dialog-resource,
.dialog-save {
display: flex;
justify-content: center;
align-items: center;
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 2);
color: var(--color-dark-1);
}
&.dice-roll {
flex-direction: column;
.dice-total,
.dice-formula {
padding-top: 5px;
}
.dice-total {
margin-bottom: 5px;
}
.message-header {
font-family: var(--font-primary);
}
img {
border: 0px;
}
.intro-chat {
border-radius: 20px;
display: flex;
flex-direction: row;
.intro-img {
padding: 5px;
width: 80px;
align-self: center;
}
.intro-right {
display: flex;
flex-direction: column;
.introText {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.2);
width: 210px;
margin-left: 20px;
}
}
}
.result {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-size: calc(var(--font-size-standard) * 1.2);
text-shadow: 0 0 10px var(--color-shadow-primary);
}
}

26
styles/skill.less Normal file
View File

@ -0,0 +1,26 @@
.skill-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
input[type="checkbox"] {
font-size: var(--font-size-14);
width: 20px;
padding-top: 0;
}
input[type="checkbox"]:checked {
background-color: rgba(0, 0, 0, 0.1);
}
input[type="checkbox"]:checked::after {
color: rgba(0, 0, 0, 0.1);
}
}

16
styles/weapon.less Normal file
View File

@ -0,0 +1,16 @@
.weapon-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
label {
flex: 10%;
}
}