feat: fiche PNJ (profil + niveaux) et passage du véhicule en acteur
Release Creation / build (release) Failing after 1m17s

This commit is contained in:
2026-08-04 20:34:20 +02:00
parent ea3322e843
commit cf905cdcfb
36 changed files with 1288 additions and 707 deletions
+65 -94
View File
@@ -30,77 +30,70 @@
}
}
.skills-container {
display: flex;
flex-direction: column;
gap: 15px;
}
.skill-category {
.card-style();
padding: 10px;
h4 {
font-family: "DistressBlack", sans-serif;
font-size: @font-size-14;
text-transform: uppercase;
margin-top: 0;
margin-bottom: 8px;
background: 50% 0% / cover no-repeat url("@{ui-path}/scotch.webp");
}
}
.skill-item {
display: flex;
align-items: center;
gap: 8px;
padding: 5px;
border-bottom: 1px solid @color-border-dark-3;
&:last-child { border-bottom: none; }
label {
flex: 1;
.npc-trait-list {
li {
display: flex;
align-items: center;
gap: 6px;
padding: 4px 0;
border-bottom: 1px solid @color-border-dark-3;
font-size: @font-size-12;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
&:last-child { border-bottom: none; }
strong { flex: 1; }
}
.trait-value {
min-width: 30px;
text-align: center;
font-weight: bold;
white-space: nowrap;
}
}
.npc-roll-btn {
color: @color-text-light-primary;
opacity: 0.7;
transition: opacity 0.15s ease;
&:hover {
box-shadow: 0 0 10px @theme-color-highlight inset;
opacity: 1;
color: @color-text-light-1;
text-shadow: 0 0 6px @theme-color-highlight;
}
}
.skill-control {
display: flex;
align-items: center;
gap: 5px;
.npc-wounds {
flex-wrap: wrap;
.wound-cat {
display: inline-flex;
align-items: center;
gap: 4px;
font-weight: bold;
}
.wound-boxes {
display: inline-flex;
gap: 2px;
i {
font-size: 8px;
color: @color-border-dark-2;
}
}
}
.skill-value {
min-width: 25px;
text-align: center;
font-weight: bold;
}
.npc-free-skills {
margin-top: 15px;
.form-group-style();
.rarity-badge {
display: inline-block;
padding: 1px 4px;
border-radius: 3px;
font-size: 10px;
font-weight: bold;
margin-left: 5px;
&.rarity-0 { .rarity-badge(@rarity-0-bg, @rarity-0-text); }
&.rarity-1 { .rarity-badge(@rarity-1-bg, @rarity-1-text); }
&.rarity-2 { .rarity-badge(@rarity-2-bg, @rarity-2-text); }
&.rarity-3 { .rarity-badge(@rarity-3-bg, @rarity-3-text); }
}
.skill-category-selector {
margin-bottom: 15px;
.card-style();
label {
font-size: @font-size-12;
font-weight: bold;
white-space: nowrap;
}
}
.wounds-card {
@@ -133,39 +126,6 @@
}
}
.ability-section {
.card-style();
}
.ability-category-header {
font-family: "DistressBlack", sans-serif;
font-size: @font-size-14;
text-transform: uppercase;
margin-top: 0;
margin-bottom: 8px;
border-bottom: 1px solid @color-border-dark-3;
padding-bottom: 5px;
}
.ability-item {
display: flex;
align-items: center;
gap: 8px;
padding: 5px 0;
label {
flex: 1;
font-size: @font-size-12;
white-space: nowrap;
}
}
.ability-control {
display: flex;
align-items: center;
gap: 8px;
}
.tab {
padding: 10px;
overflow-y: auto;
@@ -213,6 +173,17 @@
padding: 3px 5px;
min-width: 100px;
}
input[type="text"] {
font-size: @font-size-12;
padding: 3px 5px;
min-width: 0;
width: 100%;
}
}
.npc-profile-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.editor {
+172
View File
@@ -0,0 +1,172 @@
@import "../variables";
@import "../utilities";
.system-vermine2047 .vermine2047.actor.vehicle {
display: grid !important;
grid-template-columns: 1fr !important;
grid-template-rows: auto 1fr auto !important;
> header.window-header {
grid-column: 1;
grid-row: 1;
}
> section.window-content {
grid-column: 1;
grid-row: 2;
}
> div.window-resize-handle {
grid-column: 1;
grid-row: 3;
}
.window-content {
display: grid;
grid-template-rows: auto auto 1fr;
grid-template-columns: 1fr;
overflow: hidden;
> .tab.main {
grid-column: 1;
grid-row: 1;
display: flex !important;
flex-direction: column;
overflow-y: auto;
padding: 8px;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
> nav.tabs {
grid-column: 1;
grid-row: 2;
}
> .tab:not(.main) {
grid-column: 1;
grid-row: 3;
display: none;
overflow-y: auto;
padding: 8px;
&.active {
display: flex;
flex-direction: column;
}
}
}
.sheet-header {
.background-image(url("@{ui-path}/barre_haut.webp"), no-repeat, 100% 100%, right top);
padding: 10px;
max-height: 130px;
}
.header-fields { flex: 1; }
.resource {
.card-style();
}
.resource-label {
font-weight: bold;
margin-right: 8px;
min-width: 60px;
font-size: @font-size-12;
}
.resource-content {
display: flex;
align-items: center;
select {
margin-right: 8px;
min-width: 100px;
}
input[type="number"] {
width: 60px;
text-align: center;
}
}
.charname {
margin: 0;
input {
width: 100%;
font-size: @font-size-18;
font-weight: bold;
text-align: center;
}
}
.vehicle-owner {
display: flex;
gap: 6px;
margin-bottom: 8px;
padding: 6px 8px;
border: 1px dashed @color-hemolymph;
background: fade(@color-hemolymph, 8%);
.label {
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-11;
color: @color-amber;
}
}
.vehicle-section {
padding: 8px;
border: 1px solid @color-border-dark-4;
background: fade(@color-chitin-dark, 20%);
margin-bottom: 8px;
h3 {
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-13;
color: @theme-color-dark;
margin: 0 0 8px;
text-align: left;
border-bottom: none;
}
.resource-label {
display: block;
margin: 0 0 4px;
min-width: 0;
}
.unit {
font-size: @font-size-11;
color: @color-text-light-0;
opacity: 0.8;
}
.maintenance {
margin-top: 8px;
.flexrow label {
gap: 4px;
margin-right: 12px;
font-size: @font-size-12;
}
}
.form-group {
label {
font-family: "DistressBlack", sans-serif;
text-transform: uppercase;
font-size: @font-size-11;
color: @color-amber;
}
}
}
input[type="text"] {
width: 100%;
padding: 5px;
}
}