Add monsetr sheet

This commit is contained in:
2025-01-15 14:20:21 +01:00
parent 4e70cbfaf8
commit cc8c1f9864
47 changed files with 1949 additions and 461 deletions

View File

@ -4,7 +4,7 @@
.lethalfantasy {
@import "mixins.less";
@import "character.less";
@import "opponent.less";
@import "monster.less";
@import "skill.less";
@import "gift.less";
@import "weapon.less";

483
styles/monster.less Normal file
View File

@ -0,0 +1,483 @@
.monster-content {
.sheet-common();
.character-sheet-common();
overflow: scroll;
}
.monster-main {
display: flex;
.monster-pc {
display: flex;
gap: 10px;
flex: 1;
.monster-left {
min-width: 220px;
max-width: 220px;
display: flex;
flex-direction: column;
.monster-left-image {
display: flex;
justify-content: center;
align-items: center;
padding-bottom: 8px;
.monster-img {
height: 140px;
width: 140px;
width: auto;
border: none;
}
}
.monster-hp {
display: flex;
gap: 2px;
align-items: center;
.monster-hp-value {
.form-fields input {
flex: none;
min-width: 3rem;
max-width: 3rem;
margin-left: 10px;
font-size: calc(var(--font-size-standard) * 1.4);
}
}
.monster-hp-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);
}
}
}
}
.monster-right {
display: flex;
flex-direction: column;
gap: 4px;
.monster-name {
display: flex;
input {
width: 400px;
}
}
}
}
.monster-pc-play {
min-width: 400px;
}
.monster-pc-edit {
min-width: 400px;
}
.monster-characteristics {
display: flex;
flex-direction: column;
gap: 4px;
flex: 1;
.monster-characteristic {
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: 4px;
.form-fields {
flex: none;
width: 3rem;
}
}
}
}
.monster-resists {
display: flex;
flex-direction: column;
gap: 4px;
flex: 1;
.monster-resist {
display: flex;
align-items: center;
margin-right: 0.5rem;
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
}
.name {
flex: 1;
min-width: 3rem;
margin-left: 0.5rem;
}
.form-group {
flex: 1;
padding-left: 4px;
.form-fields {
flex: none;
width: 50px;
}
}
}
}
.monster-movements {
display: flex;
flex-direction: column;
gap: 4px;
flex: 1;
.monster-movement {
display: flex;
align-items: center;
margin-right: 0.5rem;
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
}
.name {
flex: 1;
min-width: 3rem;
margin-left: 0.5rem;
}
.form-group {
flex: 1;
padding-left: 4px;
.form-fields {
flex: none;
width: 50px;
}
}
}
}
.monster-saves {
display: flex;
flex-direction: column;
gap: 4px;
flex: 1;
.monster-save {
display: flex;
align-items: center;
margin-right: 0.5rem;
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
}
.name {
flex: 0;
min-width: 5rem;
max-width: 5rem;
margin-left: 0.5rem;
}
.name-pain {
flex: 0;
min-width: 3rem;
max-width: 3rem;
margin-left: 0.5rem;
}
.form-group {
flex: 0;
padding-left: 4px;
.form-fields {
flex: none;
width: 50px;
}
}
}
}
.monster-characteristics-play {
min-width: 225px;
}
.monster-characteristic-edit {
min-width: 400px;
}
}
.tab.monster-biography {
.biodata {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 4px;
.biodata-elem {
display: flex;
align-items: center;
gap: 4px;
.name {
min-width: 8rem;
}
}
}
}
.monster-biography {
prose-mirror.inactive {
min-height: 40px;
}
prose-mirror.active {
min-height: 150px;
}
}
.tab.monster-skills {
display: grid;
grid-template-columns: 1fr;
legend {
a {
font-size: calc(var(--font-size-standard) * 1);
padding-left: 4px;
}
}
.skills {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
.skill {
display: flex;
align-items: center;
gap: 4px;
.item-img {
width: 24px;
height: 24px;
}
.name {
min-width: 12rem;
}
}
}
.gifts {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
.gift {
display: flex;
align-items: center;
gap: 4px;
.item-img {
width: 24px;
height: 24px;
}
.name {
min-width: 12rem;
}
}
}
.vulnerabilities {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
.vulnerability {
display: flex;
align-items: center;
gap: 4px;
.item-img {
width: 24px;
height: 24px;
}
.name {
min-width: 12rem;
}
}
}
}
.tab.monster-equipment {
display: grid;
grid-template-columns: 1fr;
legend {
a {
font-size: calc(var(--font-size-standard) * 1.4);
padding-left: 4px;
}
}
.moneys {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 4px;
}
.equipments {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
.equipment {
display: flex;
align-items: center;
gap: 4px;
.item-img {
width: 24px;
height: 24px;
margin: 4px 0 0 0;
}
.name {
min-width: 12rem;
}
}
.name {
min-width: 12rem;
}
}
}
.tab.monster-combat {
display: grid;
grid-template-columns: 1fr;
legend {
a {
font-size: calc(var(--font-size-standard) * 1.4);
padding-left: 4px;
}
}
.combat-details {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 4px;
.combat-detail {
display: flex;
align-items: center;
gap: 4px;
button {
min-width: 10rem;
}
.armor-hp {
min-width: 20rem;
max-width: 20rem;
.input {
min-width: 3rem;
max-width: 3rem;
}
}
}
}
.attacks {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 4px;
.attack {
display: flex;
align-items: center;
gap: 4px;
.numeric {
width: 3rem;
}
.attack-icons a {
margin-left: 8px;
margin-right: 8px;
}
}
}
.armors {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
.armor {
display: flex;
align-items: center;
gap: 4px;
.item-img {
width: 24px;
height: 24px;
margin: 4px 0 0 0;
}
}
.name {
min-width: 12rem;
}
}
}
.tab.monster-spells {
display: grid;
grid-template-columns: 1fr;
legend {
a {
font-size: calc(var(--font-size-standard) * 1.4);
padding-left: 4px;
}
}
.spells {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
.spell {
display: flex;
align-items: center;
gap: 4px;
.item-img {
width: 24px;
height: 24px;
}
.name {
min-width: 12rem;
}
}
}
prose-mirror.inactive {
min-height: 40px;
}
prose-mirror.active {
min-height: 150px;
}
}
.tab.monster-miracles {
display: grid;
grid-template-columns: 1fr;
legend {
a {
font-size: calc(var(--font-size-standard) * 1.4);
padding-left: 4px;
}
}
.miracles {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
.miracle {
display: flex;
align-items: center;
gap: 4px;
.item-img {
width: 24px;
height: 24px;
}
.name {
min-width: 12rem;
}
}
}
prose-mirror.inactive {
min-height: 40px;
}
prose-mirror.active {
min-height: 150px;
}
}

View File

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