Initial import

This commit is contained in:
2024-11-21 23:59:44 +01:00
commit d8ce83bcf2
98 changed files with 120909 additions and 0 deletions

View File

@ -0,0 +1,46 @@
#tenebris-application-fortune {
font-family: var(--font-primary);
font-size: calc(var(--font-size-standard) * 1.2);
color: var(--color-light-1);
menu {
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
}
}
section {
background-image: url("../assets/background-small.webp");
background-repeat: no-repeat;
background-size: 100% 100%;
padding: 0;
}
.application-fortune {
display: flex;
flex: 1;
flex-direction: column;
align-items: center;
//align-items: center;
font-size: calc(var(--font-size-standard) * 3);
button {
color: var(--color-light-1);
font-size: calc(var(--font-size-standard) * 1.2);
margin-top: 10px;
border: none;
background-color: inherit;
}
}
.application-fortune-gm {
//padding-right: 50px;
justify-content: flex-end;
}
.application-fortune-player {
//padding-right: 20px;
justify-content: space-between
}
}

View File

@ -0,0 +1,21 @@
#tenebris-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%;
.tenebris-table {
margin: 1rem;
background: none;
padding: 0;
margin: 0;
text-align: center;
.player {
font-size: calc(var(--font-size-standard) * 1);
}
}
}

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%;
}
}

16
styles/attack.less Normal file
View File

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

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");
}

59
styles/global.less Normal file
View File

@ -0,0 +1,59 @@
:root {
--font-size-standard: 0.8125rem;
--background-image-base: url("../assets/parchment.jpg");
--font-secondary: "Amiri", serif;
--logo-standard: url("../assets/tenebris-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.tenebris {
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.tenebris {
font-family: var(--font-primary);
font-size: calc(var(--font-size-standard) * 1.2);
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%;
}

View File

@ -0,0 +1,18 @@
@import "global.less";
.tenebris {
@import "mixins.less";
@import "character.less";
@import "opponent.less";
@import "path.less";
@import "talent.less";
@import "weapon.less";
@import "armor.less";
@import "spell.less";
@import "attack.less";
@import "chat.less";
}
@import "roll.less";
@import "application-fortune.less";
@import "application-manager.less";

74
styles/mixins.less Normal file
View File

@ -0,0 +1,74 @@
.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) * 2);
font-weight: bold;
border: none;
}
fieldset {
margin-bottom: 10px;
border-radius: 5px;
}
.form-fields {
input,
select {
text-align: center;
font-size: calc(var(--font-size-standard) * 1.4);
}
select {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.4);
}
}
legend {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.6);
font-weight: bold;
letter-spacing: 1px;
}
}
.character-sheet-common {
label {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.4);
}
}
.item-sheet-common {
.form-fields {
padding-top: 5px;
}
label {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.6);
flex: 50%;
}
}

86
styles/opponent.less Normal file
View File

@ -0,0 +1,86 @@
.opponent-content {
.sheet-common();
overflow: scroll;
label {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.4);
}
}
.opponent-header {
display: flex;
align-items: center;
justify-content: center;
.opponent-img {
width: 100px;
height: auto;
margin: 10px;
}
.character-name {
display: flex;
width: 100%;
}
}
.opponent-main {
display: flex;
flex-direction: row;
gap: 10px;
.opponent-gauche {
display: flex;
flex-direction: column;
min-width: 250px;
.opponent-caracteristiques {
display: flex;
flex-direction: column;
.form-fields {
flex: none;
input {
width: 50px;
}
}
}
.opponent-attacks {
legend {
a {
font-size: calc(var(--font-size-standard) * 1.6);
}
}
.opponent-attack {
display: flex;
justify-content: space-between;
}
}
.opponent-spells {
legend {
a {
font-size: calc(var(--font-size-standard) * 1.6);
}
}
.opponent-spell {
display: flex;
justify-content: space-between;
}
}
}
.opponent-droite {
.opponent-description {
flex: 1; /* Prend également l'espace disponible */
min-width: 200px; /* Pour éviter que le contenu ne déborde */
prose-mirror.inactive {
min-height: 40px;
}
prose-mirror.active {
min-height: 450px;
height: 100%;
min-width: 200px;
width: 100%;
}
}
}
}

94
styles/path.less Normal file
View File

@ -0,0 +1,94 @@
.path-content {
.sheet-common();
.item-sheet-common();
.path-name {
display: flex;
justify-content: space-between;
.control {
margin: 5px;
}
img {
width: 50px;
height: 50px;
}
}
.path-main {
display: grid;
grid-template-columns: 2fr 2fr 1fr;
.profil {
display: grid;
grid-template-columns: repeat(2, 1fr);
}
.profil-gauche,
.profil-droite {
flex: 1; /* Chaque colonne prend la moitié de l'espace disponible */
padding: 10px; /* Espacement intérieur */
}
.profil-gauche {
margin-right: 10px; /* Espace entre les deux colonnes */
}
/* Optionnel : supprimer le margin-right sur la dernière colonne si vous avez besoin d'un espacement précis */
.profil-droite {
margin-right: 0;
}
.biens {
prose-mirror {
height: 100%;
}
}
.langues {
prose-mirror {
height: 100%;
}
}
.description {
prose-mirror.inactive {
min-height: 40px;
}
prose-mirror.active {
min-height: 150px;
}
grid-column: span 3;
}
}
.path-talents {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 10px;
.talent {
background-color: #f0f0f0;
padding: 5px;
border-radius: 5px;
.header {
display: flex;
justify-content: space-between;
.name {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.5);
padding-left: 20px;
}
.controls {
font-size: calc(var(--font-size-standard) * 0.8);
}
}
.progression {
display: flex;
justify-content: space-between;
padding-top: 10px;
}
.description {
font-size: calc(var(--font-size-standard) * 1);
}
}
}
}

112
styles/roll.less Normal file
View File

@ -0,0 +1,112 @@
.application.dialog.tenebris {
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);
}
}
.tenebris-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);
}
}

21
styles/spell.less Normal file
View File

@ -0,0 +1,21 @@
.spell-content {
.sheet-common();
.item-sheet-common();
.header {
display: flex;
img {
width: 50px;
height: 50px;
}
}
label {
flex: 10%;
}
input[name="system.consequenceA"], input[name="system.consequenceB"] {
font-size: calc(var(--font-size-standard) * 1.2);
}
}

26
styles/talent.less Normal file
View File

@ -0,0 +1,26 @@
.talent-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%;
}
}