feat: équipement, échanges de coups et améliorations des fiches
- équipement des armes et protections (champ equipped, liste des équipés, toggle) - échanges de coups automatisés (attaque/défense/résolution/blessures dans le chat) - dialogue d'attaque par type (personnage/PNJ/créature), portées et difficultés - conservation du scroll des fiches lors des modifs (option scrollable + classe active) - verrouillage des compétences PNJ en mode jeu - corrections review combat (défenseur, difficulté >10, multi-cibles, permissions)
This commit is contained in:
@@ -399,6 +399,254 @@ iframe {
|
||||
}
|
||||
}
|
||||
|
||||
// ── Combat dialog (attaque) ──────────────────────────────────────
|
||||
.combat-mode-label {
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
font-size: @font-size-14;
|
||||
color: @color-hemolymph;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.locked-value {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
min-height: 28px;
|
||||
padding: 0 8px;
|
||||
font-size: @font-size-12;
|
||||
color: @color-chitin-dark;
|
||||
background: @color-text-light-0;
|
||||
border-radius: 3px;
|
||||
.custom-select-style();
|
||||
}
|
||||
|
||||
.combat-dialog-weapon {
|
||||
border: 1px solid @color-hemolymph;
|
||||
padding: 6px 8px;
|
||||
background: fade(@color-chitin-dark, 40%);
|
||||
|
||||
.weapon-block-header {
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
|
||||
.weapon-icon { color: @color-hemolymph; }
|
||||
|
||||
.weapon-name {
|
||||
font-family: "DistressBlack", sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-size: @font-size-12;
|
||||
font-weight: 900;
|
||||
color: @theme-color-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.weapon-details {
|
||||
gap: 4px 12px;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.weapon-detail {
|
||||
font-family: "Roboto", sans-serif;
|
||||
font-size: @font-size-11;
|
||||
color: @color-text-light-0;
|
||||
|
||||
strong { text-transform: uppercase; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.combat-difficulty-options {
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
|
||||
.difficulty-option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
font-family: "Roboto", sans-serif;
|
||||
text-transform: none;
|
||||
font-size: @font-size-12;
|
||||
color: @color-text-light-0;
|
||||
cursor: pointer;
|
||||
|
||||
input[type="radio"] { flex: none; }
|
||||
|
||||
&.locked {
|
||||
opacity: 0.8;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.combat-targets {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 6px;
|
||||
padding: 4px 2px;
|
||||
|
||||
.label {
|
||||
font-size: @font-size-11;
|
||||
color: @color-amber;
|
||||
}
|
||||
|
||||
.combat-target-tag {
|
||||
padding: 2px 8px;
|
||||
font-size: @font-size-11;
|
||||
font-family: "Roboto", sans-serif;
|
||||
color: @color-text-light-0;
|
||||
background: fade(@color-hemolymph, 20%);
|
||||
border: 1px solid fade(@color-hemolymph, 50%);
|
||||
border-radius: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
// ── Phase d'Expérience ───────────────────────────────────────────
|
||||
.exp-phase-characters {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
min-height: 0;
|
||||
|
||||
details > div:not(summary) {
|
||||
padding: 8px;
|
||||
background: fade(@color-chitin-dark, 30%);
|
||||
}
|
||||
}
|
||||
|
||||
// ── Dialogue d'apprentissage ─────────────────────────────────────
|
||||
.learning-summary {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 6px 8px;
|
||||
border: 1px solid @color-hemolymph;
|
||||
background: fade(@color-hemolymph, 10%);
|
||||
|
||||
.label {
|
||||
font-size: @font-size-12;
|
||||
color: @color-amber;
|
||||
}
|
||||
|
||||
.exp-value {
|
||||
font-family: "DistressBlack", sans-serif;
|
||||
font-size: @font-size-20;
|
||||
color: @color-acid-green;
|
||||
}
|
||||
}
|
||||
|
||||
.learning-type {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
padding: 6px 2px;
|
||||
|
||||
label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
font-family: "Roboto", sans-serif;
|
||||
text-transform: none;
|
||||
font-size: @font-size-12;
|
||||
color: @color-text-light-0;
|
||||
cursor: pointer;
|
||||
|
||||
input[type="radio"] { flex: none; }
|
||||
|
||||
&:hover { color: @color-amber; }
|
||||
}
|
||||
}
|
||||
|
||||
.learning-targets {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
padding: 8px;
|
||||
border: 1px solid @color-border-dark-4;
|
||||
background: fade(@color-chitin-dark, 30%);
|
||||
|
||||
.learning-hint {
|
||||
margin: 0;
|
||||
font-size: @font-size-11;
|
||||
font-style: italic;
|
||||
color: @color-text-light-0;
|
||||
opacity: 0.75;
|
||||
}
|
||||
}
|
||||
|
||||
.learning-result {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px 16px;
|
||||
padding: 8px;
|
||||
border: 1px solid @color-amber;
|
||||
background: fade(@color-amber, 8%);
|
||||
|
||||
.context-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
|
||||
.context-label {
|
||||
font-family: "DistressBlack", sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-size: @font-size-11;
|
||||
color: @color-amber;
|
||||
}
|
||||
|
||||
.context-value {
|
||||
font-family: "Roboto", sans-serif;
|
||||
font-size: @font-size-13;
|
||||
font-weight: 700;
|
||||
color: @color-text-light-0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ── Transfert de Dés d'Expérience ─────────────────────────────────
|
||||
.experience-section {
|
||||
.experience-controls {
|
||||
gap: 8px;
|
||||
padding: 8px;
|
||||
|
||||
.experience-group {
|
||||
font-size: @font-size-11;
|
||||
color: @color-text-light-0;
|
||||
opacity: 0.8;
|
||||
|
||||
#exp-group {
|
||||
font-weight: 700;
|
||||
color: @color-acid-green;
|
||||
}
|
||||
}
|
||||
|
||||
button[data-action="giveToGroup"] {
|
||||
font-family: "DistressBlack", sans-serif;
|
||||
text-transform: uppercase;
|
||||
font-size: @font-size-11;
|
||||
padding: 3px 12px;
|
||||
cursor: pointer;
|
||||
color: @color-text-light-0;
|
||||
background: fade(@color-acid-green, 15%);
|
||||
border: 1px solid @color-acid-green;
|
||||
border-radius: 3px;
|
||||
.transition();
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
color: @theme-color-dark;
|
||||
background: @color-acid-green;
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
opacity: 0.6;
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ── Total dice pool section ─────────────────────────────────────
|
||||
.total-section {
|
||||
align-items: center;
|
||||
|
||||
Reference in New Issue
Block a user