10 KiB
10 KiB
Améliorations de la Fiche Créature
Vue d'ensemble
La fiche créature a été complètement alignée avec les dernières améliorations de la fiche personnage pour assurer une expérience utilisateur cohérente à travers tout le système.
Changements Apportés
PARTIE 1 : ONGLET ATTRIBUTS (STATS)
1. Attributs avec Liste Déroulante (Dropdown)
Avant:
<input type="number" name="system.attributs.{{key}}.value" value="{{attr.value}}" />
Après:
<select name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number">
{{selectOptions @root.config.listeNiveauCreature selected=attr.value}}
</select>
Raison:
- Les créatures peuvent avoir des attributs de 0 à 35 (vs 0-10 pour personnages)
- Utilise
listeNiveauCreaturecréé dynamiquement danswasteland-main.js - Interface plus propre et empêche les valeurs invalides
2. Attributs Cliquables (Rollable)
Avant:
<span class="item-name">{{attr.label}}</span>
Après:
<span class="item-name">
<a class="rollable" data-action="rollAttribut" data-attr-key="{{key}}">{{attr.label}}</a>
</span>
Raison:
- Permet de cliquer sur le nom de l'attribut pour faire un jet
3-5. Boutons +/- pour Santé et Psyché
Ajouté des boutons d'ajustement pour:
- Dégâts non létaux
- Dégâts létaux
- Psyché actuelle
Raison:
- Facilite l'ajustement rapide en combat
6. Terminologie
Changé "Courante" → "Actuelle" pour la psyché
PARTIE 2 : ONGLET COMBAT
7. Valeurs de Combat - Grille 2x2 avec Champs Bonus
Layout:
┌──────────────────────────────┬──────────────────────────────┐
│ Initiative 12 [+2] = 14 │ Défense 15 [+2] = 17 │
├──────────────────────────────┼──────────────────────────────┤
│ Vitesse 8 [+0] = 8 │ Bonus Dég. +3 [+1] = +4 │
└──────────────────────────────┴──────────────────────────────┘
Code:
<div class="grid grid-2col">
<div class="combat-stat-row">
<label class="stat-label">Initiative</label>
<div class="stat-values">
<span class="stat-base">{{combat.initBase}}</span>
<input type="number" class="input-numeric-short" name="system.combat.initbonus"
value="{{system.combat.initbonus}}" data-tooltip="Bonus" />
<span class="stat-total">= {{combat.initTotal}}</span>
</div>
</div>
<!-- 3 autres similaires -->
</div>
Raison:
- DIFFÉRENCE IMPORTANTE AVEC PERSONNAGE: Créatures ont besoin des champs bonus éditables
- Grille 2x2: Compacte mais lisible, 2 valeurs par ligne
- Format: Nom | Base | [Bonus] | = Total
8. Compétences avec Boutons de Roll et Dropdown Niveau
Avant:
<span class="item-niveau">Niveau: {{skill.system.niveau}}</span>
Après:
<select class="status-small-label color-class-common edit-item-data competence-niveau"
data-item-field="niveau" data-dtype="Number">
{{selectOptions @root.config.listeNiveauSkill selected=skill.system.niveau}}
</select>
Raison:
- Liste déroulante pour le niveau (0-10) au lieu de texte statique
- Modification directe depuis la liste sans ouvrir la fiche
- Utilise le handler
edit-item-dataexistant - Appelle
editItemField()pour mise à jour automatique - Comportement identique à la fiche personnage
Ajouts:
- Boutons de roll par attribut (ADR:15, PUI:12, etc.)
- Nom cliquable pour éditer
- Bouton "Ajouter une compétence" en bas
9. Armes avec Format Moderne
Avant:
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">Armes</span>
<span>Attaque</span> <span>Défense</span> <span>Dégâts</span>
</li>
Après:
<span class="weapon-stats">
<span class="stat-offensif" data-tooltip="Attaque">
<i class="fas fa-crosshairs"></i> {{arme.system.totalOffensif}}
</span>
{{#if arme.system.isdefense}}
<span class="stat-defensif" data-tooltip="Défense">
<i class="fas fa-shield"></i> {{arme.system.totalDefensif}}
</span>
{{/if}}
</span>
<button class="button-sheet-roll" data-action="rollArmeOffensif">
<i class="fas fa-dice-d20"></i>
</button>
<button class="button-sheet-roll" data-action="rollArmeDegats">
<i class="fas fa-burst"></i>
</button>
Raison:
- Stats avec icônes visuelles (🎯 crosshairs, 🛡️ shield)
- Boutons avec icônes au lieu de texte
- Suppression du header colonnes
- Nom cliquable pour éditer
- Bouton "Ajouter une arme" en bas
10. Capacités
Ajouts:
- Nom cliquable pour éditer
- Bouton "Ajouter une capacité" en bas
Fichiers Modifiés
templates/actor-creature-sheet.hbs
- Lignes 26-37: Attributs avec dropdown et rollable links
- Lignes 39-110: Santé et Psyché avec boutons +/-
- Lignes 107-146: Valeurs combat en grille 2x2 avec inputs bonus
- Lignes 148-189: Compétences avec dropdown niveau et boutons de roll
- Lignes 191-243: Armes au format moderne avec icônes
- Lignes 245-261: Capacités avec nom cliquable
- Total: ~140 lignes modifiées/ajoutées
less/actor-styles.less
- Lignes 279-331: Nouveaux styles pour
.combat-stats(grille 2x2 créatures) - Total: 52 lignes ajoutées
Styles CSS Ajoutés
.combat-stats {
margin-bottom: 1rem;
.grid-2col {
gap: 0.5rem;
}
.combat-stat-row {
display: flex;
align-items: center;
background: rgba(255, 255, 255, 0.2);
border: 1px solid #6a0606;
border-radius: 3px;
padding: 0.4rem 0.6rem;
gap: 0.5rem;
.stat-label {
font-weight: bold;
font-size: 0.85rem;
min-width: 90px;
flex: 0 0 auto;
}
.stat-values {
display: flex;
align-items: center;
gap: 0.3rem;
flex: 1;
.stat-base { font-weight: bold; min-width: 30px; text-align: center; }
.input-numeric-short { width: 50px; text-align: center; padding: 0.2rem; }
.stat-total { font-weight: bold; color: #6a0606; min-width: 40px; }
}
}
}
Actions Utilisées
Toutes réutilisées depuis base-actor-sheet.mjs:
rollAttribut- Jets d'attributsincDecSante- Boutons +/- santé/psychérollCompetence- Jets de compétencerollArmeOffensif/rollArmeDegats- Jets d'armecreateItem/editItem/deleteItem- Gestion items
Handler spécial:
edit-item-data- Modification dropdown niveau compétence- Appelle
editItemField(itemId, itemType, itemField, dataType, value)dans wasteland-actor.js
Bénéfices
Onglet Attributs
- Cohérence: Même interface que fiche personnage
- Facilité: Boutons +/- pour ajustements rapides
- Prévention d'erreurs: Dropdowns empêchent valeurs invalides
- Ergonomie: Attributs cliquables pour jets rapides
Onglet Combat
- Layout 2x2: Valeurs de combat compactes
- Champs Bonus: Créatures peuvent ajuster leurs stats
- Dropdown Niveau: Modification compétences sans ouvrir fiche
- Jets Rapides: Boutons directement sur compétences/armes
- Interface Moderne: Icônes et layout épuré
Comparaison Avant/Après
| Élément | Avant | Après | Bénéfice |
|---|---|---|---|
| Attributs | Input number | Select dropdown (0-35) + rollable | Prévention erreurs + jets rapides |
| Santé/Psyché | Input seul | Input + boutons -/+ | Ajustement rapide en combat |
| Valeurs Combat | Liste 4 lignes verticale | Grille 2x2 Base [Bonus] = Total | Layout compact + édition |
| Niveau Compétence | Texte statique | Dropdown (0-10) éditable | Modification directe |
| Compétences | Nom + niveau | Dropdown + boutons roll attributs | Jets + édition rapide |
| Armes | Header + colonnes texte | Stats icônes + boutons icônes | Interface moderne |
| Capacités | Nom statique | Nom cliquable + bouton ajout | Édition rapide |
Tests Recommandés
Onglet Attributs
- Vérifier dropdown attributs (0-35)
- Cliquer sur nom d'attribut pour jet
- Tester boutons +/- santé/psyché
- Vérifier sauvegarde modifications
Onglet Combat
- Vérifier grille 2x2 valeurs combat
- Modifier les champs bonus
- Tester dropdown niveau compétence (nouveau)
- Tester boutons roll compétences
- Cliquer boutons attaque/dégâts armes
- Vérifier tooltips
- Tester ajout compétence/arme/capacité
- Cliquer noms pour éditer
Notes Importantes
- Aucune modification JavaScript nécessaire (actions/handlers déjà existants)
- Modification CSS mineure (52 lignes pour grille combat)
- Changements principalement template Handlebars
- Compatible AppV2
- Différence clé avec personnage: Créatures ont champs bonus combat éditables
- Nouveau: Dropdown niveau compétence avec modification directe (handler
edit-item-data)
Impact Visuel
CRÉATURE (Valeurs Combat) - Grille 2x2:
┌──────────────────────────────┬──────────────────────────────┐
│ Initiative 12 [+2] = 14 │ Défense 15 [+2] = 17 │
├──────────────────────────────┼──────────────────────────────┤
│ Vitesse 8 [+0] = 8 │ Bonus Dég. +3 [+1] = +4 │
└──────────────────────────────┴──────────────────────────────┘
CRÉATURE (Compétences):
[🖼️] Mouvements [Dropdown 0-10: 3]
[ADR : 15] [PUI : 12] [✏️] [🗑️]
PERSONNAGE (Compétences):
[🖼️] Mouvements [Dropdown 0-10: 3]
[ADR : 15] [PUI : 12] [✏️] [🗑️]
Prédilections: Escalade, Course
Total: ~140 lignes template + 52 lignes CSS = 192 lignes modifiées