Files
vermine2047/templates/actor/actor-npc-sheet.hbs
T
uberwald 716c1b49ae Finalisation complète du système Vermine2047 pour FoundryVTT v14
Implémentations majeures:
- Classe GroupLink pour synchronisation bidirectionnelle acteurs↔groupes
- Configuration complète des totems, PNJ et créatures
- Redesign du RollDialog avec interface compacte et sélecteurs
- Bonus/malus par domaine de totem
- Réussites automatiques et seuils auto basés sur niveau de maîtrise
- Choix du totem à garder avec recalcul des réussites
- Conversion tous templates chat cards en .hbs
- Fiches PNJ et Créature avec sélecteurs pour tous les niveaux
- Documentation technique (ARCHITECTURE.md) et utilisateur (GUIDE_UTILISATEUR.md)
- Mise à jour system.json pour compatibilité v14
- Tous les TODOs du README.md complétés

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-04 11:46:40 +02:00

135 lines
5.8 KiB
Handlebars

<form class="{{cssClass}} {{actor.type}} flexcol form" autocomplete="off">
{{!-- Sheet Header --}}
<header class="sheet-header">
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" height="100" width="100"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{actor.name}}" placeholder="Name"/></h1>
<div class="resources grid grid-3col">
<div class="resource flex-group-center">
<label for="system.threat.value" class="resource-label">{{ localize 'ADVERSITY.threat'}}</label>
<div class="resource-content">
<select
name="system.threat.value"
id="system.threat.value"
data-dtype="Number"
>
{{#each ../config.npcThreatLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.threat.value}}selected{{/ife}}
>{{localize this.label}} ({{@key}})</option>
{{/each}}
</select>
</div>
</div>
<div class="resource flex-group-center">
<label for="system.experience.value" class="resource-label">{{ localize 'ADVERSITY.experience'}}</label>
<div class="resource-content">
<select
name="system.experience.value"
id="system.experience.value"
data-dtype="Number"
>
{{#each ../config.npcExperienceLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.experience.value}}selected{{/ife}}
>{{localize this.label}} ({{@key}})</option>
{{/each}}
</select>
</div>
</div>
<div class="resource flex-group-center">
<label for="system.role.value" class="resource-label">{{ localize 'ADVERSITY.role'}}</label>
<div class="resource-content">
<select
name="system.role.value"
id="system.role.value"
data-dtype="Number"
>
{{#each ../config.npcRoleLevels}}
<option
value="{{@key}}"
{{#ife @key ../system.role.value}}selected{{/ife}}
>{{localize this.label}} ({{@key}})</option>
{{/each}}
</select>
</div>
</div>
</div>
</div>
</header>
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary">
{{!-- Default tab is specified in actor-sheet.mjs --}}
<a class="item" data-tab="description">{{ localize 'VERMINE.abilities'}}</a>
<a class="item" data-tab="items">{{ localize 'VERMINE.equipment'}}</a>
<a class="item" data-tab="effects">{{ localize 'VERMINE.combat'}}</a>
</nav>
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Biography Tab --}}
<div class="tab stats" data-group="primary" data-tab="description">
<section class="grid grid-3col gap-md">
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.threat'}}</h4>
<ul class="unstyled">
<li>{{ localize 'ADVERSITY.attack'}} {{ npcThreatLevel "attack" system.threat.value }}</li>
<li>{{ localize 'ADVERSITY.vigor'}} {{ npcThreatLevel "vigor" system.threat.value }}</li>
<li>{{ localize 'ADVERSITY.wounds'}}
{{ npcThreatLevel "minorWound" system.threat.value }}/
{{ npcThreatLevel "majorWound" system.threat.value }}/
{{ npcThreatLevel "deadlyWound" system.threat.value }}
</li>
</ul>
</div>
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.experience'}}</h4>
<ul class="unstyled">
<li>
<label for="system.skills" class="">{{ localize "ADVERSITY.skills" }}</label>
<input type="text" name="system.skills" value="{{ system.skills }}" data-dtype="String"/>
</li>
<li>{{ localize 'ADVERSITY.action'}} {{ npcExperienceLevel "action" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.specialties'}} {{ npcExperienceLevel "specialties" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.rerolls'}} {{ npcExperienceLevel "rerolls" system.experience.value }}</li>
<li>{{ localize 'ADVERSITY.contact'}} {{ npcExperienceLevel "contact" system.experience.value }}</li>
</ul>
</div>
<div class="mdb">
<h4 class="align-center">{{ localize 'ADVERSITY.role'}}</h4>
<ul class="unstyled">
<li>{{ localize 'ADVERSITY.reaction'}} {{ npcRoleLevel "reaction" system.role.value }} + {{ npcRoleLevel "reaction_bonus" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.pools'}} {{ npcRoleLevel "pools" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.gear'}} {{ npcRoleLevel "gear" system.role.value }}</li>
<li>{{ localize 'ADVERSITY.protection'}} {{ npcRoleLevel "protection" system.role.value }}</li>
</ul>
</div>
</section>
<section class="flexcol col gap-md">
<h4 class="align-center">{{ localize 'IDENTITY.notes'}}</h4>
{{editor system.biography target="system.biography" button=true owner=owner editable=editable}}
</section>
</div>
{{!-- Owned Items Tab --}}
<div class="tab items" data-group="primary" data-tab="items">
{{> "systems/vermine2047/templates/actor/parts/actor-items.hbs"}}
</div>
{{!-- Active Effects Tab --}}
<div class="tab effects flexcol" data-group="primary" data-tab="effects">
{{> "systems/vermine2047/templates/actor/npc/npc-combat.hbs"}}
</div>
</section>
</form>