Import initial

This commit is contained in:
2026-05-02 09:16:24 +02:00
parent e4b91948d2
commit 839b2b606e
76 changed files with 10025 additions and 0 deletions
+90
View File
@@ -0,0 +1,90 @@
<section class="{{cssClass}} les-oublies-sheet compagnie-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{actor.img}}" title="{{actor.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Blason de la compagnie</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{actor.name}}" placeholder="Nom de compagnie" {{#if isPlayMode}}disabled{{/if}} /></h1>
<p class="sheet-subtitle">Capitaine, pouvoir partagé et liens forgés dans l'Exil</p>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</header>
<section class="sheet-card summary-card">
<h2>{{localize "LESOUBLIES.labels.pouvoir"}}</h2>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.powerName"}}</label>
<input name="system.power.name" type="text" value="{{system.power.name}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.reserveSongesCompagnie"}}</label>
<input name="system.power.sharedDreamPoints" type="number" value="{{system.power.sharedDreamPoints}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.activation"}}</label>
<input name="system.power.activationCondition" type="text" value="{{system.power.activationCondition}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.capitaineVisible"}}</label>
<input name="system.power.captainVisible" type="checkbox" {{checked system.power.captainVisible}} {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.capitaineTemoin"}}</label>
<input name="system.power.captainNeedsWitness" type="checkbox" {{checked system.power.captainNeedsWitness}} {{#if isPlayMode}}disabled{{/if}} />
</div>
{{editor system.power.description target="system.power.description" button=true editable=isEditMode}}
<div class="section-title-row">
<h3>Items de pouvoir</h3>
<button type="button" data-action="createItem" data-type="pouvoircompagnie">+ {{localize "TYPES.Item.pouvoircompagnie"}}</button>
</div>
<div class="item-list">
{{#each powers as |item|}}
<article class="item-card">
<div><strong>{{item.name}}</strong><div>{{item.system.activationCondition}}</div></div>
<div class="item-controls"><button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button></div>
</article>
{{/each}}
</div>
{{#if primaryPower}}
<div class="help-text">{{primaryPower.name}}{{primaryPower.system.activationCondition}}</div>
{{/if}}
</section>
<div class="sheet-grid sheet-grid-2">
<section class="sheet-card ledger-card">
<h2>{{localize "LESOUBLIES.ui.membres"}}</h2>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.capitaine"}}</label>
<input name="system.captainId" type="text" value="{{system.captainId}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.ombreDuTourment"}}</label>
<input name="system.ombreDuTourmentId" type="text" value="{{system.ombreDuTourmentId}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<p class="help-text">{{localize "LESOUBLIES.labels.membresIds"}}</p>
{{#if captain}}<p><strong>Capitaine :</strong> {{captain.name}}</p>{{/if}}
{{#if shadow}}<p><strong>Ombre :</strong> {{shadow.name}}</p>{{/if}}
<ul class="reference-list">
{{#each members as |member|}}
<li>{{member.name}}</li>
{{/each}}
</ul>
</section>
<section class="sheet-card ledger-card">
<h2>{{localize "LESOUBLIES.labels.liensNarratifs"}}</h2>
<p class="help-text">{{localize "LESOUBLIES.ui.readOnlyCollection"}}</p>
<ul class="reference-list">
{{#each links as |link|}}
<li><strong>{{link.label}}</strong> — {{link.sourceLabel}} -> {{link.targetLabel}} {{link.details}}</li>
{{/each}}
</ul>
</section>
</div>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.description target="system.description" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.notes"}}</h2>
{{editor system.notes target="system.notes" button=true editable=isEditMode}}
</section>
</section>
+144
View File
@@ -0,0 +1,144 @@
<section class="{{cssClass}} les-oublies-sheet creature-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{actor.img}}" title="{{actor.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Bestiaire de la Terra</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{actor.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<p class="sheet-subtitle">Créatures du Petit Peuple, du Cauchemar et des frontières</p>
<div class="sheet-actions">
<button type="button" data-action="openRoll">{{localize "LESOUBLIES.rolls.test"}}</button>
<button type="button" data-action="openConfrontation">{{localize "LESOUBLIES.rolls.confrontation"}}</button>
<button type="button" data-action="openInitiative">{{localize "LESOUBLIES.rolls.initiative"}}</button>
<button type="button" data-action="openThreadHarvest">Récolte de fils</button>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</div>
</header>
<div class="sheet-grid sheet-grid-2">
<section class="sheet-card summary-card">
<h2>{{localize "LESOUBLIES.ui.derivedOverview"}}</h2>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.categorie"}}</label><input name="system.biodata.categorie" type="text" value="{{system.biodata.categorie}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.taille"}}</label><input name="system.size.value" type="number" value="{{system.size.value}}" {{#if isPlayMode}}disabled{{/if}} /><span>{{derived.sizeLabel}}</span></div>
<div class="field-row"><label>{{localize "LESOUBLIES.ui.vie"}}</label><input name="system.hp.value" type="number" value="{{system.hp.value}}" {{#if isPlayMode}}disabled{{/if}} /><span>/ {{derived.hpMax}}</span></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.hpAffichage"}}</label><input name="system.hp.display" type="text" value="{{system.hp.display}}" {{#if isPlayMode}}disabled{{/if}} /><span>{{derived.hpDisplay}}</span></div>
<div class="field-row"><label>Protection</label><input name="system.protection" type="number" value="{{system.protection}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.ui.songes"}}</label><input name="system.songes.value" type="number" value="{{system.songes.value}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.pointsSonges"}}</label><input name="system.songes.points" type="number" value="{{system.songes.points}}" {{#if isPlayMode}}disabled{{/if}} /><span>/ {{system.songes.max}}</span></div>
<div class="field-row"><label>{{localize "LESOUBLIES.ui.cauchemar"}}</label><input name="system.cauchemar.value" type="number" value="{{system.cauchemar.value}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.pointsCauchemar"}}</label><input name="system.cauchemar.points" type="number" value="{{system.cauchemar.points}}" {{#if isPlayMode}}disabled{{/if}} /><span>/ {{system.cauchemar.max}}</span></div>
</section>
<section class="sheet-card profiles-card">
<h2>{{localize "LESOUBLIES.labels.profilsOptionnels"}}</h2>
<div class="profile-grid">
{{#each system.profils as |value key|}}
<div class="profile-cell">
<button type="button" data-action="rollProfile" data-profile-key="{{key}}">{{profileLabel key}}</button>
<input name="system.profils.{{key}}" type="number" value="{{value}}" {{#if @root.isPlayMode}}disabled{{/if}} />
</div>
{{/each}}
</div>
</section>
</div>
<section class="sheet-card ledger-card">
<div class="section-title-row">
<h2>{{localize "LESOUBLIES.ui.competences"}}</h2>
<button type="button" data-action="createItem" data-type="competence">+ {{localize "TYPES.Item.competence"}}</button>
</div>
{{#each skillGroups as |group|}}
{{#if (count group.items)}}
<div class="group-block">
<h3>{{group.label}}</h3>
<div class="item-list">
{{#each group.items as |entry|}}
<article class="item-card">
<div><strong>{{entry.item.name}}</strong><div>{{localize "LESOUBLIES.labels.valeurFinale"}} {{entry.finalValue}}</div></div>
<div class="item-controls"><button type="button" data-action="rollSkill" data-item-id="{{entry.item.id}}">{{localize "LESOUBLIES.ui.roll"}}</button><button type="button" data-action="editItem" data-item-id="{{entry.item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{entry.item.id}}">Delete</button></div>
</article>
{{/each}}
</div>
</div>
{{/if}}
{{/each}}
</section>
<div class="sheet-grid sheet-grid-2">
<section class="sheet-card ledger-card">
<h2>{{localize "LESOUBLIES.labels.degats"}}</h2>
{{editor system.statblock.damage target="system.statblock.damage" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.reglesSpeciales"}}</h2>
{{editor system.statblock.special target="system.statblock.special" button=true editable=isEditMode}}
</section>
<section class="sheet-card ledger-card">
<h2>{{localize "LESOUBLIES.labels.sortilegesSonges"}}</h2>
{{editor system.statblock.spellSonges target="system.statblock.spellSonges" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.sortilegesCauchemar"}}</h2>
{{editor system.statblock.spellCauchemar target="system.statblock.spellCauchemar" button=true editable=isEditMode}}
</section>
</div>
<section class="sheet-card ledger-card">
<div class="section-title-row">
<h2>{{localize "LESOUBLIES.ui.combat"}}</h2>
<div class="embed-buttons">
<button type="button" data-action="openCombatPreset" data-preset="encourager">Encourager</button>
<button type="button" data-action="openCombatPreset" data-preset="intimider">Intimider</button>
<button type="button" data-action="openCombatPreset" data-preset="evaluer">Évaluer</button>
<button type="button" data-action="openCombatPreset" data-preset="maitriser">Maîtriser</button>
<button type="button" data-action="openCombatPreset" data-preset="seDeplacer">Se déplacer</button>
</div>
</div>
</section>
<section class="sheet-card ledger-card">
<div class="section-title-row">
<h2>{{localize "LESOUBLIES.ui.equipement"}}</h2>
<div class="embed-buttons">
<button type="button" data-action="createItem" data-type="arme">+ {{localize "TYPES.Item.arme"}}</button>
<button type="button" data-action="createItem" data-type="armure">+ {{localize "TYPES.Item.armure"}}</button>
<button type="button" data-action="createItem" data-type="equipement">+ {{localize "TYPES.Item.equipement"}}</button>
<button type="button" data-action="createItem" data-type="sortilege">+ {{localize "TYPES.Item.sortilege"}}</button>
</div>
</div>
<div class="item-list">
{{#each weapons as |item|}}
<article class="item-card">
<div><strong>{{item.name}}</strong><div>{{item.system.damage}}</div></div>
<div class="item-controls"><button type="button" data-action="useWeapon" data-item-id="{{item.id}}">Attaque</button><button type="button" data-action="resolveWeaponDamage" data-item-id="{{item.id}}">Dégâts</button><button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button></div>
</article>
{{/each}}
{{#each armors as |item|}}
<article class="item-card">
<div><strong>{{item.name}}</strong><div>Prot {{item.system.protection}}</div></div>
<div class="item-controls"><button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button></div>
</article>
{{/each}}
{{#each equipment as |item|}}
<article class="item-card">
<div><strong>{{item.name}}</strong><div>{{localize "TYPES.Item.equipement"}} - {{item.system.category}}</div></div>
<div class="item-controls"><button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button></div>
</article>
{{/each}}
{{#each spells as |item|}}
<article class="item-card">
<div><strong>{{item.name}}</strong><div>{{item.system.tradition}} / {{item.system.polarity}}</div></div>
<div class="item-controls"><button type="button" data-action="useSpell" data-item-id="{{item.id}}">Activer</button><button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button></div>
</article>
{{/each}}
</div>
</section>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.biodata.description target="system.biodata.description" button=true editable=isEditMode}}
<h2>Habitat</h2>
{{editor system.biodata.habitat target="system.biodata.habitat" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.notes"}}</h2>
{{editor system.biodata.notes target="system.biodata.notes" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.gmnotes"}}</h2>
{{editor system.biodata.gmnotes target="system.biodata.gmnotes" button=true editable=isEditMode owner=isGM}}
</section>
</section>
+228
View File
@@ -0,0 +1,228 @@
<section class="{{cssClass}} les-oublies-sheet personnage-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{actor.img}}" title="{{actor.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Chronique d'un Oublié</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{actor.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<p class="sheet-subtitle">Petit Peuple, Songes, Cauchemar et destin de compagnie</p>
<div class="sheet-actions">
<button type="button" data-action="openRoll">{{localize "LESOUBLIES.rolls.test"}}</button>
<button type="button" data-action="openConfrontation">{{localize "LESOUBLIES.rolls.confrontation"}}</button>
<button type="button" data-action="openInitiative">{{localize "LESOUBLIES.rolls.initiative"}}</button>
<button type="button" data-action="openThreadHarvest">Récolte de fils</button>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</div>
</header>
<div class="sheet-grid sheet-grid-2">
<section class="sheet-card summary-card">
<h2>{{localize "LESOUBLIES.ui.derivedOverview"}}</h2>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.taille"}}</label>
<input name="system.size.value" type="number" value="{{system.size.value}}" {{#if isPlayMode}}disabled{{/if}} />
<span>{{derived.sizeLabel}}</span>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.vie"}}</label>
<input name="system.hp.value" type="number" value="{{system.hp.value}}" {{#if isPlayMode}}disabled{{/if}} />
<span>/ {{derived.hpMax}}</span>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.songes"}}</label>
<input name="system.songes.value" type="number" value="{{system.songes.value}}" {{#if isPlayMode}}disabled{{/if}} />
<span>{{system.songes.points}} / {{system.songes.max}} pts</span>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.detteSonges"}}</label>
<input name="system.songes.debt" type="number" value="{{system.songes.debt}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.creditSonges"}}</label>
<input name="system.songes.xpCredit" type="number" value="{{system.songes.xpCredit}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.cauchemar"}}</label>
<input name="system.cauchemar.value" type="number" value="{{system.cauchemar.value}}" {{#if isPlayMode}}disabled{{/if}} />
<span>{{system.cauchemar.points}} / {{system.cauchemar.max}} pts</span>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.detteCauchemar"}}</label>
<input name="system.cauchemar.debt" type="number" value="{{system.cauchemar.debt}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.creditCauchemar"}}</label>
<input name="system.cauchemar.xpCredit" type="number" value="{{system.cauchemar.xpCredit}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.xp"}}</label>
<input name="system.experience.value" type="number" value="{{system.experience.value}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.ecorces"}}</label>
<input name="system.money.ecorces" type="number" value="{{system.money.ecorces}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.ombreDuTourment"}}</label>
<input name="system.flagsNarratifs.ombreDuTourment" type="checkbox" {{checked system.flagsNarratifs.ombreDuTourment}} {{#if isPlayMode}}disabled{{/if}} />
</div>
</section>
<section class="sheet-card creation-card">
<h2>{{localize "LESOUBLIES.labels.identite"}}</h2>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.age"}}</label>
<input name="system.biodata.age" type="number" value="{{system.biodata.age}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.sexe"}}</label>
<input name="system.biodata.sexe" type="text" value="{{system.biodata.sexe}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.motsCles"}}</label>
<input name="system.biodata.motscles" type="text" value="{{system.biodata.motscles}}" {{#if isPlayMode}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.capitaine"}}</label>
<input name="system.flagsNarratifs.isCaptain" type="checkbox" {{checked system.flagsNarratifs.isCaptain}} {{#if isPlayMode}}disabled{{/if}} />
</div>
</section>
<section class="sheet-card creation-card">
<h2>{{localize "LESOUBLIES.ui.creation"}}</h2>
<ul class="reference-list">
<li><strong>{{localize "LESOUBLIES.labels.race"}} :</strong> {{#if creation.race}}{{creation.race.name}}{{else}}{{/if}}</li>
<li><strong>{{localize "LESOUBLIES.labels.tribu"}} :</strong> {{#if creation.tribu}}{{creation.tribu.name}}{{else}}{{/if}}</li>
<li><strong>{{localize "LESOUBLIES.labels.metier"}} :</strong> {{#if creation.metier}}{{creation.metier.name}}{{else}}{{/if}}</li>
<li><strong>{{localize "LESOUBLIES.labels.compagnie"}} :</strong> {{#if derived.compagnie}}{{derived.compagnie.name}}{{else}}{{/if}}</li>
</ul>
<div class="embed-buttons">
<button type="button" data-action="createItem" data-type="race">+ {{localize "TYPES.Item.race"}}</button>
<button type="button" data-action="createItem" data-type="tribu">+ {{localize "TYPES.Item.tribu"}}</button>
<button type="button" data-action="createItem" data-type="metier">+ {{localize "TYPES.Item.metier"}}</button>
</div>
</section>
</div>
<section class="sheet-card profiles-card">
<h2>{{localize "LESOUBLIES.ui.profils"}}</h2>
<div class="profile-grid">
{{#each system.profils as |value key|}}
<div class="profile-cell">
<button type="button" data-action="rollProfile" data-profile-key="{{key}}">{{profileLabel key}}</button>
<input name="system.profils.{{key}}" type="number" value="{{value}}" {{#if @root.isPlayMode}}disabled{{/if}} />
</div>
{{/each}}
</div>
</section>
<section class="sheet-card ledger-card">
<div class="section-title-row">
<h2>{{localize "LESOUBLIES.ui.competences"}}</h2>
<button type="button" data-action="createItem" data-type="competence">+ {{localize "TYPES.Item.competence"}}</button>
</div>
{{#each skillGroups as |group|}}
<div class="group-block">
<h3>{{group.label}}</h3>
<div class="item-list">
{{#each group.items as |entry|}}
<article class="item-card">
<div>
<strong>{{entry.item.name}}</strong>
<div>Base {{entry.item.system.base}} - {{localize "LESOUBLIES.labels.valeurFinale"}} {{entry.finalValue}}</div>
{{#if (count entry.item.system.domains)}}<div>{{localize "LESOUBLIES.labels.domaines}} : {{join entry.item.system.domains}}</div>{{/if}}
</div>
<div class="item-controls">
<button type="button" data-action="rollSkill" data-item-id="{{entry.item.id}}">{{localize "LESOUBLIES.ui.roll"}}</button>
<button type="button" data-action="editItem" data-item-id="{{entry.item.id}}">Edit</button>
<button type="button" data-action="deleteItem" data-item-id="{{entry.item.id}}">Delete</button>
</div>
</article>
{{/each}}
</div>
</div>
{{/each}}
</section>
<section class="sheet-card ledger-card">
<div class="section-title-row">
<h2>{{localize "LESOUBLIES.ui.combat"}}</h2>
<div class="embed-buttons">
<button type="button" data-action="openCombatPreset" data-preset="encourager">Encourager</button>
<button type="button" data-action="openCombatPreset" data-preset="intimider">Intimider</button>
<button type="button" data-action="openCombatPreset" data-preset="evaluer">Évaluer</button>
<button type="button" data-action="openCombatPreset" data-preset="maitriser">Maîtriser</button>
<button type="button" data-action="openCombatPreset" data-preset="seDeplacer">Se déplacer</button>
</div>
</div>
</section>
<section class="sheet-card ledger-card">
<div class="section-title-row">
<h2>{{localize "LESOUBLIES.ui.magie"}}</h2>
<button type="button" data-action="createItem" data-type="sortilege">+ {{localize "TYPES.Item.sortilege"}}</button>
</div>
<div class="item-list">
{{#each spells as |item|}}
<article class="item-card">
<div>
<strong>{{item.name}}</strong>
<div>{{item.system.tradition}} / {{item.system.polarity}} / coût {{item.system.cost}}</div>
</div>
<div class="item-controls">
<button type="button" data-action="useSpell" data-item-id="{{item.id}}">Activer</button>
<button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button>
<button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button>
</div>
</article>
{{/each}}
</div>
</section>
<section class="sheet-card ledger-card">
<div class="section-title-row">
<h2>{{localize "LESOUBLIES.ui.equipement"}}</h2>
<div class="embed-buttons">
<button type="button" data-action="createItem" data-type="arme">+ {{localize "TYPES.Item.arme"}}</button>
<button type="button" data-action="createItem" data-type="armure">+ {{localize "TYPES.Item.armure"}}</button>
<button type="button" data-action="createItem" data-type="equipement">+ {{localize "TYPES.Item.equipement"}}</button>
</div>
</div>
<div class="item-list">
{{#each weapons as |item|}}
<article class="item-card">
<div><strong>{{item.name}}</strong><div>{{localize "TYPES.Item.arme"}} - {{item.system.damage}}</div></div>
<div class="item-controls"><button type="button" data-action="useWeapon" data-item-id="{{item.id}}">Attaque</button><button type="button" data-action="resolveWeaponDamage" data-item-id="{{item.id}}">Dégâts</button><button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button></div>
</article>
{{/each}}
{{#each armors as |item|}}
<article class="item-card">
<div><strong>{{item.name}}</strong><div>{{localize "TYPES.Item.armure"}} - Prot {{item.system.protection}}</div></div>
<div class="item-controls"><button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button></div>
</article>
{{/each}}
{{#each equipment as |item|}}
<article class="item-card">
<div><strong>{{item.name}}</strong><div>{{localize "TYPES.Item.equipement"}} - {{item.system.category}}</div></div>
<div class="item-controls"><button type="button" data-action="editItem" data-item-id="{{item.id}}">Edit</button><button type="button" data-action="deleteItem" data-item-id="{{item.id}}">Delete</button></div>
</article>
{{/each}}
</div>
</section>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.ui.notes"}}</h2>
<label>{{localize "LESOUBLIES.labels.description"}}</label>
{{editor system.biodata.description target="system.biodata.description" button=true editable=isEditMode}}
<label>{{localize "LESOUBLIES.labels.notes"}}</label>
{{editor system.biodata.notes target="system.biodata.notes" button=true editable=isEditMode}}
<label>{{localize "LESOUBLIES.labels.gmnotes"}}</label>
{{editor system.biodata.gmnotes target="system.biodata.gmnotes" button=true editable=isEditMode owner=isGM}}
<label>{{localize "LESOUBLIES.labels.liensNarratifs"}}</label>
{{editor system.visions target="system.visions" button=true editable=isEditMode}}
{{#if activeCompanyPower}}
<label>{{localize "LESOUBLIES.labels.pouvoirCompagnieActif"}}</label>
<div class="help-text">{{activeCompanyPower.name}}{{activeCompanyPower.system.activationCondition}}</div>
{{/if}}
</section>
</section>
+116
View File
@@ -0,0 +1,116 @@
<div class="les-oublies-chat-card {{#if result}}{{#if result.success}}is-success{{else}}is-failure{{/if}}{{/if}}">
<header class="chat-card-header">
<div class="chat-card-banner">
<img class="chat-card-portrait" src="{{actor.img}}" alt="{{actor.name}}" />
<div class="chat-card-heading">
<p class="chat-card-kicker">{{#if result}}Action{{else}}Résolution{{/if}}</p>
<h3>{{#if action}}{{action.title}}{{else}}{{result.label}}{{/if}}</h3>
<p class="chat-card-subtitle"><strong>{{actor.name}}</strong>{{#if action.subtitle}} · {{action.subtitle}}{{/if}}</p>
</div>
{{#if result}}
<div class="chat-card-badge {{#if result.success}}success{{else}}failure{{/if}}">{{result.successLabel}}</div>
{{/if}}
</div>
</header>
<section class="chat-card-body">
{{#if result}}
<div class="roll-summary-grid">
<div><span>{{localize "LESOUBLIES.rolls.score"}}</span><strong>{{result.score}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.difficulty"}}</span><strong>{{numberFormat result.difficulty sign=true}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.natural"}}</span><strong>{{result.natural}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.final"}}</span><strong>{{result.final}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.threshold"}}</span><strong>{{result.threshold}}+</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.margin"}}</span><strong>{{numberFormat result.margin sign=true}}</strong></div>
</div>
<p class="roll-formula"><strong>{{localize "LESOUBLIES.rolls.resolution"}}</strong> : {{result.natural}} + {{result.score}} {{numberFormat result.difficulty sign=true}}{{#if result.finalModifier}} {{numberFormat result.finalModifier sign=true}}{{/if}} = {{result.final}}</p>
<div class="dice-strip">
{{#each result.dice as |die|}}
<div class="die-chip {{#if (eq die.index @root.result.selectedDie.index)}}selected{{/if}}">
<strong>{{die.typeLabel}}</strong>
<span>{{die.breakdown}}</span>
{{#if die.exploded}}<em>{{localize "LESOUBLIES.rolls.exploded"}}</em>{{/if}}
{{#if die.sourceLabel}}<em>{{die.sourceLabel}}</em>{{/if}}
</div>
{{/each}}
</div>
{{/if}}
{{#if action.hint}}
<p class="roll-formula"><strong>Rappel</strong> : {{action.hint}}</p>
{{/if}}
{{#if action.modifiers.labels.length}}
<div class="chat-callouts">
<div class="chat-callout">
<span>Modificateurs</span>
<strong>{{join action.modifiers.labels}}</strong>
</div>
</div>
{{/if}}
{{#if action.outcome}}
{{#if result}}
{{#if result.success}}
<div class="chat-callouts">
<div class="chat-callout">
<span>{{action.outcome.label}}</span>
<strong>{{action.outcome.description}}</strong>
</div>
</div>
{{/if}}
{{else}}
<div class="chat-callouts">
<div class="chat-callout">
<span>{{action.outcome.label}}</span>
<strong>{{action.outcome.description}}</strong>
</div>
</div>
{{/if}}
{{/if}}
{{#if action.damage}}
<div class="chat-callouts">
<div class="chat-callout">
<span>Dégâts de base</span>
<strong>{{action.damage.baseLabel}}</strong>
</div>
<div class="chat-callout">
<span>Protection</span>
<strong>{{action.damage.effectiveProtection}}</strong>
<em>{{action.damage.targetLabel}}</em>
</div>
<div class="chat-callout">
<span>Dégâts finaux</span>
<strong>{{action.damage.finalDamage}}</strong>
{{#if action.damage.nonLethal}}<em>Non létal</em>{{/if}}
</div>
</div>
{{/if}}
{{#if action.harvest}}
<div class="chat-callouts">
<div class="chat-callout">
<span>Récolte</span>
<strong>{{action.harvest.threadCount}} fil{{#unless (eq action.harvest.threadCount 1)}}s{{/unless}} de {{action.harvest.threadType}}</strong>
<em>{{action.harvest.sleeperLabel}}</em>
</div>
<div class="chat-callout">
<span>Dégâts subis</span>
<strong>{{action.harvest.damageTaken}}</strong>
</div>
<div class="chat-callout">
<span>Après le Néphertine</span>
<strong>{{action.harvest.durationHours}} h</strong>
<em>{{action.harvest.sideEffectText}}</em>
</div>
</div>
{{/if}}
{{#if action.notes}}
<p class="roll-formula"><strong>Notes</strong> : {{action.notes}}</p>
{{/if}}
</section>
</div>
+152
View File
@@ -0,0 +1,152 @@
<div class="les-oublies-chat-card confrontation-card">
<header class="chat-card-header">
<div class="chat-card-banner">
<img class="chat-card-portrait" src="{{actor.img}}" alt="{{actor.name}}" />
<div class="chat-card-heading">
<p class="chat-card-kicker">{{localize "LESOUBLIES.rolls.confrontation"}}</p>
<h3>{{attacker.label}} · {{defender.label}}</h3>
<p class="chat-card-subtitle">{{localize "LESOUBLIES.rolls.confrontationType"}} · {{confrontationType}}</p>
</div>
<div class="chat-card-badge neutral">{{outcomeLabel}}</div>
</div>
</header>
<section class="chat-card-body confrontation-body">
{{#if action}}
<article class="chat-side-card">
<div class="chat-side-head">
<h2>{{action.title}}</h2>
{{#if action.subtitle}}<span class="chat-side-mode">{{action.subtitle}}</span>{{/if}}
</div>
{{#if action.hint}}<p class="roll-formula"><strong>Rappel</strong> : {{action.hint}}</p>{{/if}}
{{#if action.modifiers.labels.length}}
<div class="chat-callouts">
<div class="chat-callout">
<span>Modificateurs</span>
<strong>{{join action.modifiers.labels}}</strong>
</div>
</div>
{{/if}}
{{#if action.outcome}}
{{#if action.outcome.success}}
<div class="chat-callouts">
<div class="chat-callout">
<span>{{action.outcome.label}}</span>
<strong>{{action.outcome.description}}</strong>
</div>
</div>
{{/if}}
{{/if}}
{{#if action.damage}}
<div class="chat-callouts">
<div class="chat-callout">
<span>Dégâts</span>
<strong>{{action.damage.finalDamage}}</strong>
{{#if action.damage.nonLethal}}<em>Non létal</em>{{/if}}
</div>
<div class="chat-callout">
<span>Protection</span>
<strong>{{action.damage.effectiveProtection}}</strong>
<em>{{action.damage.targetLabel}}</em>
</div>
</div>
{{/if}}
{{#if action.notes}}<p class="roll-formula"><strong>Notes</strong> : {{action.notes}}</p>{{/if}}
</article>
{{/if}}
<article class="chat-side-card {{#if attacker.success}}is-success{{else}}is-failure{{/if}}">
<div class="chat-side-head">
<h2>{{attacker.label}}</h2>
<span class="chat-side-mode">{{attacker.rollModeLabel}}</span>
</div>
<div class="roll-summary-grid">
<div><span>{{localize "LESOUBLIES.rolls.score"}}</span><strong>{{attacker.score}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.difficulty"}}</span><strong>{{numberFormat attacker.difficulty sign=true}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.natural"}}</span><strong>{{attacker.natural}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.final"}}</span><strong>{{attacker.final}}</strong></div>
</div>
<p class="roll-formula"><strong>{{localize "LESOUBLIES.rolls.resolution"}}</strong> : {{attacker.natural}} + {{attacker.score}} {{numberFormat attacker.difficulty sign=true}}{{#if attacker.finalModifier}} {{numberFormat attacker.finalModifier sign=true}}{{/if}} = {{attacker.final}}</p>
<div class="dice-strip">
{{#each attacker.dice as |die|}}
<div class="die-chip {{#if (eq die.index @root.attacker.selectedDie.index)}}selected{{/if}}">
<strong>{{die.typeLabel}}</strong>
<span>{{die.breakdown}}</span>
{{#if die.exploded}}<em>{{localize "LESOUBLIES.rolls.exploded"}}</em>{{/if}}
{{#if die.sourceLabel}}<em>{{die.sourceLabel}}</em>{{/if}}
</div>
{{/each}}
</div>
<div class="chat-callouts">
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.result"}}</span>
<strong>{{attacker.successLabel}}</strong>
<em>{{attacker.selectedSummary}}</em>
</div>
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.debt"}}</span>
<strong>{{attacker.debt.label}}</strong>
</div>
{{#if attacker.spentResource}}
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.extraDie"}}</span>
<strong>{{attacker.spentResource.label}}</strong>
</div>
{{/if}}
{{#if attacker.automaticFailure}}
<div class="chat-callout warning">
<span>{{localize "LESOUBLIES.rolls.result"}}</span>
<strong>{{localize "LESOUBLIES.rolls.naturalOne"}}</strong>
</div>
{{/if}}
</div>
</article>
<article class="chat-side-card {{#if defender.success}}is-success{{else}}is-failure{{/if}}">
<div class="chat-side-head">
<h2>{{defender.label}}</h2>
<span class="chat-side-mode">{{defender.rollModeLabel}}</span>
</div>
<div class="roll-summary-grid">
<div><span>{{localize "LESOUBLIES.rolls.score"}}</span><strong>{{defender.score}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.difficulty"}}</span><strong>{{numberFormat defender.difficulty sign=true}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.natural"}}</span><strong>{{defender.natural}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.final"}}</span><strong>{{defender.final}}</strong></div>
</div>
<p class="roll-formula"><strong>{{localize "LESOUBLIES.rolls.resolution"}}</strong> : {{defender.natural}} + {{defender.score}} {{numberFormat defender.difficulty sign=true}}{{#if defender.finalModifier}} {{numberFormat defender.finalModifier sign=true}}{{/if}} = {{defender.final}}</p>
<div class="dice-strip">
{{#each defender.dice as |die|}}
<div class="die-chip {{#if (eq die.index @root.defender.selectedDie.index)}}selected{{/if}}">
<strong>{{die.typeLabel}}</strong>
<span>{{die.breakdown}}</span>
{{#if die.exploded}}<em>{{localize "LESOUBLIES.rolls.exploded"}}</em>{{/if}}
{{#if die.sourceLabel}}<em>{{die.sourceLabel}}</em>{{/if}}
</div>
{{/each}}
</div>
<div class="chat-callouts">
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.result"}}</span>
<strong>{{defender.successLabel}}</strong>
<em>{{defender.selectedSummary}}</em>
</div>
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.debt"}}</span>
<strong>{{defender.debt.label}}</strong>
</div>
{{#if defender.spentResource}}
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.extraDie"}}</span>
<strong>{{defender.spentResource.label}}</strong>
</div>
{{/if}}
{{#if defender.automaticFailure}}
<div class="chat-callout warning">
<span>{{localize "LESOUBLIES.rolls.result"}}</span>
<strong>{{localize "LESOUBLIES.rolls.naturalOne"}}</strong>
</div>
{{/if}}
</div>
</article>
</section>
</div>
+7
View File
@@ -0,0 +1,7 @@
<div class="les-oublies-chat">
<h3>{{label}}</h3>
<p><strong>{{actor.name}}</strong> lance les dés de Songes et de Cauchemar.</p>
<p>Songes : <strong>{{songesDie}}</strong> | Cauchemar : <strong>{{cauchemarDie}}</strong></p>
<p>Cible : <strong>{{target}}</strong> | Résultat retenu : <strong>{{selected}}</strong></p>
<p>{{#if success}}Succès{{else}}Échec{{/if}}</p>
</div>
+54
View File
@@ -0,0 +1,54 @@
<div class="les-oublies-chat-card is-initiative">
<header class="chat-card-header">
<div class="chat-card-banner">
<img class="chat-card-portrait" src="{{actor.img}}" alt="{{actor.name}}" />
<div class="chat-card-heading">
<p class="chat-card-kicker">{{localize "LESOUBLIES.rolls.test"}}</p>
<h3>{{localize "LESOUBLIES.rolls.initiative"}}</h3>
<p class="chat-card-subtitle"><strong>{{actor.name}}</strong> · {{result.rollModeLabel}}</p>
</div>
<div class="chat-card-badge neutral">{{result.initiativeScore}}</div>
</div>
</header>
<section class="chat-card-body">
<div class="roll-summary-grid">
<div><span>{{localize "LESOUBLIES.rolls.score"}}</span><strong>{{result.score}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.natural"}}</span><strong>{{result.natural}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.final"}}</span><strong>{{result.final}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.initiative"}}</span><strong>{{result.initiativeScore}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.threshold"}}</span><strong>{{result.threshold}}+</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.margin"}}</span><strong>{{numberFormat result.margin sign=true}}</strong></div>
</div>
<p class="roll-formula"><strong>{{localize "LESOUBLIES.rolls.resolution"}}</strong> : {{result.natural}} + {{result.score}} = {{result.final}}, puis initiative = {{result.initiativeScore}}</p>
<div class="dice-strip">
{{#each result.dice as |die|}}
<div class="die-chip {{#if (eq die.index @root.result.selectedDie.index)}}selected{{/if}}">
<strong>{{die.typeLabel}}</strong>
<span>{{die.breakdown}}</span>
{{#if die.exploded}}<em>{{localize "LESOUBLIES.rolls.exploded"}}</em>{{/if}}
</div>
{{/each}}
</div>
<div class="chat-callouts">
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.selectedDie"}}</span>
<strong>{{result.selectedSummary}}</strong>
<em>{{result.choiceLabel}}</em>
</div>
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.debt"}}</span>
<strong>{{result.debt.label}}</strong>
</div>
{{#if result.spentResource}}
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.extraDie"}}</span>
<strong>{{result.spentResource.label}}</strong>
</div>
{{/if}}
</div>
</section>
</div>
+48
View File
@@ -0,0 +1,48 @@
<div class="les-oublies-chat-card is-success">
<header class="chat-card-header">
<div class="chat-card-banner">
<img class="chat-card-portrait" src="{{actor.img}}" alt="{{actor.name}}" />
<div class="chat-card-heading">
<p class="chat-card-kicker">Sortilège</p>
<h3>{{spell.name}}</h3>
<p class="chat-card-subtitle"><strong>{{actor.name}}</strong> · {{spell.system.tradition}} / {{spell.system.polarity}}</p>
</div>
<div class="chat-card-badge success">Activation</div>
</div>
</header>
<section class="chat-card-body">
<div class="roll-summary-grid">
<div><span>Compétence</span><strong>{{skillLabel spell.system.skillKey}}</strong></div>
<div><span>{{localize "LESOUBLIES.labels.preparation"}}</span><strong>{{spell.system.preparation}}</strong></div>
<div><span>{{localize "LESOUBLIES.labels.duree"}}</span><strong>{{spell.system.duration}}</strong></div>
<div><span>{{localize "LESOUBLIES.labels.portee"}}</span><strong>{{spell.system.range}}</strong></div>
<div><span>{{localize "LESOUBLIES.labels.aire"}}</span><strong>{{spell.system.area}}</strong></div>
<div><span>{{localize "LESOUBLIES.labels.cumul"}}</span><strong>{{spell.system.stacking}}</strong></div>
</div>
<div class="chat-callouts">
<div class="chat-callout">
<span>Ressource</span>
<strong>{{activation.costLabel}}</strong>
</div>
<div class="chat-callout">
<span>Métier</span>
<strong>{{#if activation.metierMatch}}Couvert{{else}}Hors métier{{/if}}</strong>
{{#if activation.surcharge}}<em>Surcoût appliqué</em>{{/if}}
</div>
<div class="chat-callout">
<span>Cible / scène</span>
<strong>{{activation.targetLabel}}</strong>
</div>
</div>
{{#if activation.notes}}
<p class="roll-formula"><strong>Notes</strong> : {{activation.notes}}</p>
{{/if}}
{{#if spell.system.effectsText}}
<p class="roll-formula"><strong>Effets</strong> : {{{spell.system.effectsText}}}</p>
{{/if}}
</section>
</div>
+61
View File
@@ -0,0 +1,61 @@
<div class="les-oublies-chat-card {{#if result.success}}is-success{{else}}is-failure{{/if}}">
<header class="chat-card-header">
<div class="chat-card-banner">
<img class="chat-card-portrait" src="{{actor.img}}" alt="{{actor.name}}" />
<div class="chat-card-heading">
<p class="chat-card-kicker">{{localize "LESOUBLIES.rolls.test"}}</p>
<h3>{{result.label}}</h3>
<p class="chat-card-subtitle"><strong>{{actor.name}}</strong> · {{result.rollModeLabel}}</p>
</div>
<div class="chat-card-badge {{#if result.success}}success{{else}}failure{{/if}}">{{result.successLabel}}</div>
</div>
</header>
<section class="chat-card-body">
<div class="roll-summary-grid">
<div><span>{{localize "LESOUBLIES.rolls.score"}}</span><strong>{{result.score}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.difficulty"}}</span><strong>{{numberFormat result.difficulty sign=true}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.natural"}}</span><strong>{{result.natural}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.final"}}</span><strong>{{result.final}}</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.threshold"}}</span><strong>{{result.threshold}}+</strong></div>
<div><span>{{localize "LESOUBLIES.rolls.margin"}}</span><strong>{{numberFormat result.margin sign=true}}</strong></div>
</div>
<p class="roll-formula"><strong>{{localize "LESOUBLIES.rolls.resolution"}}</strong> : {{result.natural}} + {{result.score}} {{numberFormat result.difficulty sign=true}} = {{result.final}}</p>
<div class="dice-strip">
{{#each result.dice as |die|}}
<div class="die-chip {{#if (eq die.index @root.result.selectedDie.index)}}selected{{/if}}">
<strong>{{die.typeLabel}}</strong>
<span>{{die.breakdown}}</span>
{{#if die.exploded}}<em>{{localize "LESOUBLIES.rolls.exploded"}}</em>{{/if}}
{{#if die.sourceLabel}}<em>{{die.sourceLabel}}</em>{{/if}}
</div>
{{/each}}
</div>
<div class="chat-callouts">
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.selectedDie"}}</span>
<strong>{{result.selectedSummary}}</strong>
<em>{{result.choiceLabel}}</em>
</div>
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.debt"}}</span>
<strong>{{result.debt.label}}</strong>
</div>
{{#if result.spentResource}}
<div class="chat-callout">
<span>{{localize "LESOUBLIES.rolls.extraDie"}}</span>
<strong>{{result.spentResource.label}}</strong>
</div>
{{/if}}
{{#if result.automaticFailure}}
<div class="chat-callout warning">
<span>{{localize "LESOUBLIES.rolls.result"}}</span>
<strong>{{localize "LESOUBLIES.rolls.naturalOne"}}</strong>
</div>
{{/if}}
</div>
</section>
</div>
+49
View File
@@ -0,0 +1,49 @@
<form class="les-oublies-roll-dialog">
<section class="sheet-card">
<div class="field-row">
<label>Source</label>
<input type="text" value="{{#if weapon}}{{weapon.name}}{{else}}Dégâts{{/if}}" disabled />
</div>
<div class="field-row">
<label>Cible</label>
<input name="targetLabel" type="text" value="{{values.targetLabel}}" />
</div>
<div class="field-row">
<label>Dégâts de base</label>
<input name="baseDamage" type="number" value="{{values.baseDamage}}" />
</div>
<div class="field-row">
<label>Libellé dégâts</label>
<input name="baseDamageLabel" type="text" value="{{values.baseDamageLabel}}" />
</div>
<div class="field-row">
<label>Protection</label>
<input name="targetProtection" type="number" value="{{values.targetProtection}}" />
</div>
<div class="field-row">
<label>Prime</label>
<select name="primeId">
{{#each primeOptions as |option|}}
<option value="{{option.value}}" {{#if (eq option.value @root.values.primeId)}}selected{{/if}}>{{option.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Pénalité</label>
<select name="penaltyId">
{{#each penaltyOptions as |option|}}
<option value="{{option.value}}" {{#if (eq option.value @root.values.penaltyId)}}selected{{/if}}>{{option.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Appliquer à la cible</label>
<input name="applyToTarget" type="checkbox" {{checked values.applyToTarget}} {{#unless targetActor}}disabled{{/unless}} />
</div>
<div class="field-row">
<label>Notes</label>
<input name="notes" type="text" value="{{values.notes}}" />
</div>
<p class="help-text">Les dégâts standards ne se lancent pas aux dés : ils se résolvent à partir de l'arme, de la protection et des modificateurs choisis.</p>
</section>
</form>
+76
View File
@@ -0,0 +1,76 @@
<form class="les-oublies-roll-dialog">
<section class="sheet-card">
<h2>{{title}}</h2>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="rollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.rollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="extraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.extraDie)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
{{#if showMovementOptions}}
<div class="field-row">
<label>Circonstance</label>
<select name="difficultyPreset">
<option value="0">Aucune (0)</option>
{{#each difficultyOptions as |entry|}}
<option value="{{entry.value}}">{{entry.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Destination</label>
<input name="targetLabel" type="text" value="{{values.targetLabel}}" />
</div>
{{/if}}
{{#if showEncourageOptions}}
<div class="field-row">
<label>Allié</label>
<input name="targetLabel" type="text" value="{{values.targetLabel}}" />
</div>
<div class="field-row">
<label>Effet</label>
<select name="outcomeChoice">
<option value="initiative" {{#if (eq values.outcomeChoice "initiative")}}selected{{/if}}>+4 initiative</option>
<option value="action" {{#if (eq values.outcomeChoice "action")}}selected{{/if}}>+3 prochaine action</option>
<option value="reaction" {{#if (eq values.outcomeChoice "reaction")}}selected{{/if}}>+3 prochaine réaction</option>
</select>
</div>
{{/if}}
<div class="field-row">
<label>Ajustement libre</label>
<input name="customDifficulty" type="number" value="{{values.customDifficulty}}" />
</div>
<div class="field-row">
<label>Prime</label>
<select name="primeId">
{{#each primeOptions as |option|}}
<option value="{{option.value}}" {{#if (eq option.value @root.values.primeId)}}selected{{/if}}>{{option.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Pénalité</label>
<select name="penaltyId">
{{#each penaltyOptions as |option|}}
<option value="{{option.value}}" {{#if (eq option.value @root.values.penaltyId)}}selected{{/if}}>{{option.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Notes</label>
<input name="notes" type="text" value="{{values.notes}}" />
</div>
<p class="help-text">{{hint}}</p>
<p class="help-text">{{localize "LESOUBLIES.rolls.resourceState"}} : Songes {{resources.songesPoints}} / {{resources.songesValue}} · Cauchemar {{resources.cauchemarPoints}} / {{resources.cauchemarValue}}</p>
</section>
</form>
+141
View File
@@ -0,0 +1,141 @@
<form class="les-oublies-roll-dialog">
<div class="sheet-grid sheet-grid-2">
<section class="sheet-card">
<h2>{{attackTitle}}</h2>
<div class="field-row">
<label>Arme</label>
<input type="text" value="{{#if weapon}}{{weapon.name}}{{else}}Arme improvisée{{/if}}" disabled />
</div>
<div class="field-row">
<label>Compétence</label>
<select name="attackerSkill">
{{#each attackSkills as |skill|}}
<option value="{{skill.value}}" {{#if (eq skill.value @root.values.attackerSkill)}}selected{{/if}}>{{skill.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Circonstance</label>
<select name="difficultyPreset">
<option value="0">Aucune (0)</option>
{{#each difficultyOptions as |entry|}}
<option value="{{entry.value}}">{{entry.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Ajustement libre</label>
<input name="customDifficulty" type="number" value="{{values.customDifficulty}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="attackerRollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.attackerRollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="attackerExtraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.attackerExtraDie)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Prime</label>
<select name="primeId">
{{#each primeOptions as |option|}}
<option value="{{option.value}}" {{#if (eq option.value @root.values.primeId)}}selected{{/if}}>{{option.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Pénalité</label>
<select name="penaltyId">
{{#each penaltyOptions as |option|}}
<option value="{{option.value}}" {{#if (eq option.value @root.values.penaltyId)}}selected{{/if}}>{{option.label}}</option>
{{/each}}
</select>
</div>
<p class="help-text">{{localize "LESOUBLIES.rolls.resourceState"}} : Songes {{attackerResources.songesPoints}} / {{attackerResources.songesValue}} · Cauchemar {{attackerResources.cauchemarPoints}} / {{attackerResources.cauchemarValue}}</p>
</section>
<section class="sheet-card">
<h2>{{localize "LESOUBLIES.rolls.defender"}}</h2>
<div class="field-row">
<label>Cible</label>
<input name="defenderLabel" type="text" value="{{values.defenderLabel}}" />
</div>
<div class="field-row">
<label>Réaction</label>
<select name="defenderSkill">
{{#each reactionSkills as |skill|}}
<option value="{{skill.value}}" {{#if (eq skill.value @root.values.defenderSkill)}}selected{{/if}}>{{skill.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Score défense</label>
<input name="defenderScore" type="number" value="{{values.defenderScore}}" {{#if targetActor}}disabled{{/if}} />
</div>
<div class="field-row">
<label>Difficulté défense</label>
<input name="defenderDifficulty" type="number" value="{{values.defenderDifficulty}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="defenderRollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.defenderRollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="defenderExtraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.defenderExtraDie)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Protection</label>
<input name="targetProtection" type="number" value="{{values.targetProtection}}" />
</div>
<div class="field-row">
<label>Dégâts de base</label>
<input name="baseDamage" type="number" value="{{values.baseDamage}}" />
</div>
<div class="field-row">
<label>Libellé dégâts</label>
<input name="baseDamageLabel" type="text" value="{{values.baseDamageLabel}}" />
</div>
<div class="field-row">
<label>Appliquer à la cible</label>
<input name="applyToTarget" type="checkbox" {{checked values.applyToTarget}} {{#unless targetActor}}disabled{{/unless}} />
</div>
<div class="field-row">
<label>Notes</label>
<input name="notes" type="text" value="{{values.notes}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.songes"}}</label>
<input name="defenderSongesValue" type="number" value="{{defenderResources.songesValue}}" {{#if targetActor}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.pointsSonges"}}</label>
<input name="defenderSongesPoints" type="number" value="{{defenderResources.songesPoints}}" {{#if targetActor}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.cauchemar"}}</label>
<input name="defenderCauchemarValue" type="number" value="{{defenderResources.cauchemarValue}}" {{#if targetActor}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.pointsCauchemar"}}</label>
<input name="defenderCauchemarPoints" type="number" value="{{defenderResources.cauchemarPoints}}" {{#if targetActor}}disabled{{/if}} />
</div>
</section>
</div>
</form>
+19
View File
@@ -0,0 +1,19 @@
<div class="les-oublies-roll-dialog">
<section class="sheet-card">
<h2>{{label}}</h2>
<p class="help-text">{{localize "LESOUBLIES.rolls.choiceHint"}}</p>
<div class="item-list">
{{#each dice as |die|}}
<article class="item-card">
<div>
<strong>{{die.typeLabel}}</strong>
<div>{{localize "LESOUBLIES.rolls.natural"}} : {{die.total}}</div>
<div>{{localize "LESOUBLIES.rolls.breakdown"}} : {{die.breakdown}}</div>
{{#if die.sourceLabel}}<div>{{die.sourceLabel}}</div>{{/if}}
<div>{{localize "LESOUBLIES.rolls.debt"}} : {{die.debtLabel}}</div>
</div>
</article>
{{/each}}
</div>
</section>
</div>
+95
View File
@@ -0,0 +1,95 @@
<form class="les-oublies-roll-dialog">
<div class="sheet-grid sheet-grid-2">
<section class="sheet-card">
<h2>{{localize "LESOUBLIES.rolls.attacker"}}</h2>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.label"}}</label>
<input name="attackerLabel" type="text" value="{{actor.name}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.score"}}</label>
<input name="attackerScore" type="number" value="0" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.difficulty"}}</label>
<input name="attackerDifficulty" type="number" value="0" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="attackerRollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.defaultRollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="attackerExtraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}">{{mode.label}}</option>
{{/each}}
</select>
</div>
<p class="help-text">{{localize "LESOUBLIES.rolls.resourceState"}} : Songes {{attackerResources.songesPoints}} / {{attackerResources.songesValue}} · Cauchemar {{attackerResources.cauchemarPoints}} / {{attackerResources.cauchemarValue}}</p>
</section>
<section class="sheet-card">
<h2>{{localize "LESOUBLIES.rolls.defender"}}</h2>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.label"}}</label>
<input name="defenderLabel" type="text" value="{{localize "LESOUBLIES.rolls.defender"}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.score"}}</label>
<input name="defenderScore" type="number" value="0" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.difficulty"}}</label>
<input name="defenderDifficulty" type="number" value="0" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="defenderRollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.defaultRollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="defenderExtraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}">{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.songes"}}</label>
<input name="defenderSongesValue" type="number" value="{{defenderResources.songesValue}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.pointsSonges"}}</label>
<input name="defenderSongesPoints" type="number" value="{{defenderResources.songesPoints}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.cauchemar"}}</label>
<input name="defenderCauchemarValue" type="number" value="{{defenderResources.cauchemarValue}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.pointsCauchemar"}}</label>
<input name="defenderCauchemarPoints" type="number" value="{{defenderResources.cauchemarPoints}}" />
</div>
</section>
</div>
<section class="sheet-card">
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.confrontationType"}}</label>
<select name="confrontationType">
<option value="directe">{{localize "LESOUBLIES.rolls.confrontationTypes.directe"}}</option>
<option value="differee">{{localize "LESOUBLIES.rolls.confrontationTypes.differee"}}</option>
</select>
</div>
<p class="help-text">{{localize "LESOUBLIES.rolls.confrontationHint"}}</p>
</section>
</form>
@@ -0,0 +1,125 @@
<form class="les-oublies-roll-dialog">
<div class="sheet-grid sheet-grid-2">
<section class="sheet-card">
<h2>{{title}}</h2>
<div class="field-row">
<label>Difficulté attaquant</label>
<input name="attackerDifficulty" type="number" value="{{values.attackerDifficulty}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="attackerRollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.attackerRollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="attackerExtraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.attackerExtraDie)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Prime</label>
<select name="primeId">
{{#each primeOptions as |option|}}
<option value="{{option.value}}" {{#if (eq option.value @root.values.primeId)}}selected{{/if}}>{{option.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Pénalité</label>
<select name="penaltyId">
{{#each penaltyOptions as |option|}}
<option value="{{option.value}}" {{#if (eq option.value @root.values.penaltyId)}}selected{{/if}}>{{option.label}}</option>
{{/each}}
</select>
</div>
{{#if showIntimidateOptions}}
<div class="field-row">
<label>Effet</label>
<select name="outcomeChoice">
<option value="initiative">-4 initiative</option>
<option value="action">-3 prochaine action</option>
<option value="reaction">-3 prochaine réaction</option>
</select>
</div>
{{/if}}
{{#if showEvaluateOptions}}
<div class="field-row">
<label>Paramètre visé</label>
<input name="targetLabel" type="text" value="{{values.targetLabel}}" />
</div>
{{/if}}
{{#if showGrappleOptions}}
<div class="field-row">
<label>Suite</label>
<select name="outcomeChoice">
<option value="silence">Réduire au silence</option>
<option value="otage">Prendre en otage</option>
<option value="conforter">Conforter sa prise</option>
<option value="etouffer">Étouffer</option>
<option value="attacher">Attacher</option>
</select>
</div>
{{/if}}
<div class="field-row">
<label>Notes</label>
<input name="notes" type="text" value="{{values.notes}}" />
</div>
<p class="help-text">{{hint}}</p>
<p class="help-text">{{localize "LESOUBLIES.rolls.resourceState"}} : Songes {{attackerResources.songesPoints}} / {{attackerResources.songesValue}} · Cauchemar {{attackerResources.cauchemarPoints}} / {{attackerResources.cauchemarValue}}</p>
</section>
<section class="sheet-card">
<h2>{{localize "LESOUBLIES.rolls.defender"}}</h2>
<div class="field-row">
<label>Cible</label>
<input name="defenderLabel" type="text" value="{{values.defenderLabel}}" />
</div>
<div class="field-row">
<label>Score défense</label>
<input name="defenderScore" type="number" value="{{values.defenderScore}}" {{#if targetActor}}disabled{{/if}} />
</div>
<div class="field-row">
<label>Difficulté défense</label>
<input name="defenderDifficulty" type="number" value="{{values.defenderDifficulty}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="defenderRollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.defenderRollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="defenderExtraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.defenderExtraDie)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.songes"}}</label>
<input name="defenderSongesValue" type="number" value="{{defenderResources.songesValue}}" {{#if targetActor}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.pointsSonges"}}</label>
<input name="defenderSongesPoints" type="number" value="{{defenderResources.songesPoints}}" {{#if targetActor}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.ui.cauchemar"}}</label>
<input name="defenderCauchemarValue" type="number" value="{{defenderResources.cauchemarValue}}" {{#if targetActor}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.labels.pointsCauchemar"}}</label>
<input name="defenderCauchemarPoints" type="number" value="{{defenderResources.cauchemarPoints}}" {{#if targetActor}}disabled{{/if}} />
</div>
</section>
</div>
</form>
+38
View File
@@ -0,0 +1,38 @@
<form class="les-oublies-roll-dialog">
<div class="sheet-card">
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.label"}}</label>
<input name="label" type="text" value="{{values.label}}" {{#if lockLabel}}disabled{{/if}} />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.score"}}</label>
<input name="score" type="number" value="{{values.score}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.difficulty"}}</label>
<input name="difficulty" type="number" value="{{values.difficulty}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="rollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.rollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="extraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.extraDie)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<p class="help-text">{{localize "LESOUBLIES.rolls.resourceState"}} : Songes {{resources.songesPoints}} / {{resources.songesValue}} · Cauchemar {{resources.cauchemarPoints}} / {{resources.cauchemarValue}}</p>
{{#if isInitiative}}
<p class="help-text">{{localize "LESOUBLIES.rolls.initiativeHint"}}</p>
{{else}}
<p class="help-text">{{localize "LESOUBLIES.rolls.testHint"}}</p>
{{/if}}
</div>
</form>
+44
View File
@@ -0,0 +1,44 @@
<form class="les-oublies-roll-dialog">
<div class="sheet-grid sheet-grid-2">
<section class="sheet-card">
<h2>{{spell.name}}</h2>
<div class="field-row"><label>Tradition</label><input type="text" value="{{spell.system.tradition}}" disabled /></div>
<div class="field-row"><label>Compétence</label><input type="text" value="{{skillLabel spell.system.skillKey}}" disabled /></div>
<div class="field-row"><label>Polarité</label><input type="text" value="{{spell.system.polarity}}" disabled /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.preparation"}}</label><input type="text" value="{{spell.system.preparation}}" disabled /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.duree"}}</label><input type="text" value="{{spell.system.duration}}" disabled /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.portee"}}</label><input type="text" value="{{spell.system.range}}" disabled /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.aire"}}</label><input type="text" value="{{spell.system.area}}" disabled /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.cumul"}}</label><input type="text" value="{{spell.system.stacking}}" disabled /></div>
<p class="help-text">{{#if isMetierMatch}}Le métier de l'acteur couvre ce sortilège.{{else}}Le métier ne couvre pas ce sortilège : le surcoût peut être appliqué ci-dessous.{{/if}}</p>
</section>
<section class="sheet-card">
<h2>Activation</h2>
<div class="field-row">
<label>Coût réglé</label>
<input name="actualCost" type="number" value="{{values.actualCost}}" />
</div>
<div class="field-row">
<label>Type de ressource</label>
<select name="paymentMode">
<option value="points" {{#if (eq values.paymentMode "points")}}selected{{/if}}>Points</option>
<option value="fils" {{#if (eq values.paymentMode "fils")}}selected{{/if}}>Fils</option>
</select>
</div>
<div class="field-row">
<label>Appliquer le surcoût</label>
<input name="applyMetierSurcharge" type="checkbox" {{checked values.applyMetierSurcharge}} />
</div>
<div class="field-row">
<label>Cible / scène</label>
<input name="targetLabel" type="text" value="{{values.targetLabel}}" />
</div>
<div class="field-row">
<label>Notes</label>
<input name="notes" type="text" value="{{values.notes}}" />
</div>
<p class="help-text">{{localize "LESOUBLIES.rolls.resourceState"}} : Songes {{resources.songesPoints}} / {{resources.songesValue}} · Cauchemar {{resources.cauchemarPoints}} / {{resources.cauchemarValue}}</p>
</section>
</div>
</form>
+42
View File
@@ -0,0 +1,42 @@
<form class="les-oublies-roll-dialog">
<section class="sheet-card">
<h2>Récolte de fils</h2>
<div class="field-row">
<label>Type de fil</label>
<select name="threadType">
<option value="songes" {{#if (eq values.threadType "songes")}}selected{{/if}}>Songes</option>
<option value="cauchemar" {{#if (eq values.threadType "cauchemar")}}selected{{/if}}>Cauchemar</option>
</select>
</div>
<div class="field-row">
<label>Nombre de fils</label>
<input name="threadCount" type="number" min="1" value="{{values.threadCount}}" />
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.rollMode"}}</label>
<select name="rollMode">
{{#each rollModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.rollMode)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>{{localize "LESOUBLIES.rolls.extraDie"}}</label>
<select name="extraDie">
{{#each extraDieModes as |mode|}}
<option value="{{mode.value}}" {{#if (eq mode.value @root.values.extraDie)}}selected{{/if}}>{{mode.label}}</option>
{{/each}}
</select>
</div>
<div class="field-row">
<label>Dormeur</label>
<input name="sleeperLabel" type="text" value="{{values.sleeperLabel}}" />
</div>
<div class="field-row">
<label>Notes</label>
<input name="notes" type="text" value="{{values.notes}}" />
</div>
<p class="help-text">Difficulté : -3 par fil supplémentaire. Dégâts subis : 1 par fil souhaité. En cas d'échec, plus aucune récolte possible sur ce dormeur cette nuit.</p>
<p class="help-text">{{localize "LESOUBLIES.rolls.resourceState"}} : Songes {{resources.songesPoints}} / {{resources.songesValue}} · Cauchemar {{resources.cauchemarPoints}} / {{resources.cauchemarValue}}</p>
</section>
</form>
+27
View File
@@ -0,0 +1,27 @@
<section class="{{cssClass}} les-oublies-sheet item-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{item.img}}" title="{{item.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Arsenal</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{item.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</header>
<section class="sheet-card summary-card">
<div class="field-row"><label>{{localize "LESOUBLIES.labels.categorie"}}</label><input name="system.category" type="text" value="{{system.category}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.origine"}}</label><input name="system.origin" type="text" value="{{system.origin}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Dégâts</label><input name="system.damage" type="text" value="{{system.damage}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.portee"}}</label><input name="system.range" type="text" value="{{system.range}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.prix"}}</label><input name="system.price" type="number" value="{{system.price}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.quantite"}}</label><input name="system.quantity" type="number" value="{{system.quantity}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.equipe"}}</label><input name="system.equipped" type="checkbox" {{checked system.equipped}} {{#if isPlayMode}}disabled{{/if}} /></div>
<p><strong>Race restreinte :</strong> {{system.restrictedRace}}</p>
<p><strong>{{localize "LESOUBLIES.labels.proprietes}} :</strong> {{join system.properties}}</p>
</section>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.description target="system.description" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.notes"}}</h2>
{{editor system.notes target="system.notes" button=true editable=isEditMode}}
</section>
</section>
+24
View File
@@ -0,0 +1,24 @@
<section class="{{cssClass}} les-oublies-sheet item-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{item.img}}" title="{{item.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Protection</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{item.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</header>
<section class="sheet-card summary-card">
<div class="field-row"><label>État</label><input name="system.state" type="text" value="{{system.state}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Protection</label><input name="system.protection" type="number" value="{{system.protection}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Malus physique</label><input name="system.physicalPenalty" type="number" value="{{system.physicalPenalty}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Malus initiative</label><input name="system.initiativePenalty" type="number" value="{{system.initiativePenalty}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.prix"}}</label><input name="system.price" type="number" value="{{system.price}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.equipe"}}</label><input name="system.equipped" type="checkbox" {{checked system.equipped}} {{#if isPlayMode}}disabled{{/if}} /></div>
</section>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.description target="system.description" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.notes"}}</h2>
{{editor system.notes target="system.notes" button=true editable=isEditMode}}
</section>
</section>
+26
View File
@@ -0,0 +1,26 @@
<section class="{{cssClass}} les-oublies-sheet item-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{item.img}}" title="{{item.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Savoir-faire</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{item.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</header>
<section class="sheet-card summary-card">
<div class="field-row"><label>Key</label><input name="system.key" type="text" value="{{system.key}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.profil"}}</label><input name="system.profileKey" type="text" value="{{system.profileKey}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.base"}}</label><input name="system.base" type="number" value="{{system.base}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Fermée</label><input name="system.closed" type="checkbox" {{checked system.closed}} {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>À domaines</label><input name="system.domainSkill" type="checkbox" {{checked system.domainSkill}} {{#if isPlayMode}}disabled{{/if}} /></div>
<p><strong>{{localize "LESOUBLIES.labels.domaines}} :</strong> {{join system.domains}}</p>
<p><strong>Domaines fixes :</strong> {{join system.fixedDomains}}</p>
<p><strong>Exemples :</strong> {{join system.exampleDomains}}</p>
</section>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.description target="system.description" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.notes"}}</h2>
{{editor system.notes target="system.notes" button=true editable=isEditMode}}
</section>
</section>
+26
View File
@@ -0,0 +1,26 @@
<section class="{{cssClass}} les-oublies-sheet item-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{item.img}}" title="{{item.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Nécessaire de voyage</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{item.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</header>
<section class="sheet-card summary-card">
<div class="field-row"><label>{{localize "LESOUBLIES.labels.categorie"}}</label><input name="system.category" type="text" value="{{system.category}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.quantite"}}</label><input name="system.quantity" type="number" value="{{system.quantity}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.prix"}}</label><input name="system.price" type="number" value="{{system.price}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Bonus</label><input name="system.bonus" type="text" value="{{system.bonus}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Usage</label><input name="system.usage" type="text" value="{{system.usage}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Durée de vie</label><input name="system.lifespan" type="text" value="{{system.lifespan}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.equipe"}}</label><input name="system.equipped" type="checkbox" {{checked system.equipped}} {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Consumable</label><input name="system.consumable" type="checkbox" {{checked system.consumable}} {{#if isPlayMode}}disabled{{/if}} /></div>
</section>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.description target="system.description" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.notes"}}</h2>
{{editor system.notes target="system.notes" button=true editable=isEditMode}}
</section>
</section>
@@ -0,0 +1,27 @@
<section class="{{cssClass}} les-oublies-sheet item-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{item.img}}" title="{{item.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Souffle collectif</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{item.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</header>
<section class="sheet-card summary-card">
<div class="field-row"><label>Scope</label><input name="system.scope" type="text" value="{{system.scope}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Mode</label><input name="system.effectMode" type="text" value="{{system.effectMode}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Usages</label><input name="system.limitedUses" type="text" value="{{system.limitedUses}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Impact ressource</label><input name="system.resourceImpact" type="text" value="{{system.resourceImpact}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Activation</label><input name="system.activationCondition" type="text" value="{{system.activationCondition}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Vue du capitaine requise</label><input name="system.captainVisible" type="checkbox" {{checked system.captainVisible}} {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Capitaine avec témoin</label><input name="system.captainNeedsWitness" type="checkbox" {{checked system.captainNeedsWitness}} {{#if isPlayMode}}disabled{{/if}} /></div>
</section>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.description target="system.description" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.pouvoir"}}</h2>
{{editor system.ruleText target="system.ruleText" button=true editable=isEditMode}}
<h2>{{localize "LESOUBLIES.labels.notes"}}</h2>
{{editor system.notes target="system.notes" button=true editable=isEditMode}}
</section>
</section>
+96
View File
@@ -0,0 +1,96 @@
<section class="{{cssClass}} les-oublies-sheet item-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{item.img}}" title="{{item.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Référence de création</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{item.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<p class="sheet-subtitle">{{localize (concat "TYPES.Item." item.type)}}</p>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</header>
{{#if isRace}}
<section class="sheet-card summary-card">
<div class="field-row"><label>{{localize "LESOUBLIES.labels.taille"}}</label><input name="system.size" type="number" value="{{system.size}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.esperanceVie"}}</label><input name="system.lifeExpectancy" type="number" value="{{system.lifeExpectancy}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.langue"}}</label><input name="system.language" type="text" value="{{system.language}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<p><strong>{{localize "LESOUBLIES.labels.motsCles"}} :</strong> {{join system.keywords}}</p>
<p><strong>Domaines de langues :</strong> {{join system.languageDomains}}</p>
<h2>{{localize "LESOUBLIES.ui.profils"}}</h2>
<div class="profile-grid">
{{#each system.profiles as |value key|}}
<div class="profile-cell"><label>{{profileLabel key}}</label><input name="system.profiles.{{key}}" type="number" value="{{value}}" {{#if @root.isPlayMode}}disabled{{/if}} /></div>
{{/each}}
</div>
<p><strong>Tribus principales :</strong> {{join system.mainTribes}}</p>
</section>
{{/if}}
{{#if isTribu}}
<section class="sheet-card summary-card">
<p><strong>{{localize "LESOUBLIES.labels.motsCles"}} :</strong> {{join system.keywords}}</p>
<div class="field-row"><label>Race principale</label><input name="system.mainRace" type="text" value="{{system.mainRace}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.langue"}}</label><input name="system.spokenLanguage" type="text" value="{{system.spokenLanguage}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.territoire"}}</label><input name="system.territory" type="text" value="{{system.territory}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.philosophie"}}</label><input name="system.philosophy" type="text" value="{{system.philosophy}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.fierte"}}</label><input name="system.pride" type="text" value="{{system.pride}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.mytheNature"}}</label><input name="system.mythNature" type="text" value="{{system.mythNature}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.mytheEdenia"}}</label><input name="system.mythEdenia" type="text" value="{{system.mythEdenia}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<h2>Bonus de compétences</h2>
<ul class="reference-list">
{{#each system.skillBonuses as |bonus|}}
<li>{{formatSkillBonus bonus}}</li>
{{/each}}
</ul>
</section>
{{/if}}
{{#if isMetier}}
<section class="sheet-card summary-card">
<h2>Bonus de compétences</h2>
<ul class="reference-list">
{{#each system.skillBonuses as |bonus|}}
<li>{{formatSkillBonus bonus}}</li>
{{/each}}
</ul>
<h2>Équipement de départ</h2>
<ul class="reference-list">
{{#each system.startingEquipment as |entry|}}
<li>{{formatEquipmentEntry entry}}</li>
{{/each}}
</ul>
<h2>Sortilèges octroyés</h2>
<ul class="reference-list">
{{#each system.spellGrants as |grant|}}
<li>{{formatSpellGrant grant}}</li>
{{/each}}
</ul>
<p><strong>Revenus :</strong> débutant {{formatPrice system.revenues.beginner}}, intermédiaire {{formatPrice system.revenues.intermediate}}, expert {{formatPrice system.revenues.expert}}</p>
</section>
{{/if}}
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.description target="system.description" button=true editable=isEditMode}}
{{#if isRace}}
<h2>Apparence et interprétation</h2>
{{editor system.appearance target="system.appearance" button=true editable=isEditMode}}
{{/if}}
<h2>{{localize "LESOUBLIES.labels.reglesSpeciales"}}</h2>
{{#if isRace}}
{{editor system.specialRules target="system.specialRules" button=true editable=isEditMode}}
{{/if}}
{{#if isTribu}}
{{editor system.specialRules target="system.specialRules" button=true editable=isEditMode}}
<h2>Interprétation</h2>
{{editor system.roleplayNotes target="system.roleplayNotes" button=true editable=isEditMode}}
{{/if}}
{{#if isMetier}}
{{editor system.specialRules target="system.specialRules" button=true editable=isEditMode}}
<h2>Interprétation</h2>
{{editor system.roleplayNotes target="system.roleplayNotes" button=true editable=isEditMode}}
{{/if}}
<h2>{{localize "LESOUBLIES.labels.notes"}}</h2>
{{editor system.notes target="system.notes" button=true editable=isEditMode}}
</section>
</section>
+30
View File
@@ -0,0 +1,30 @@
<section class="{{cssClass}} les-oublies-sheet item-sheet" autocomplete="off">
<header class="sheet-header hero-banner">
<img class="profile-img" data-edit="img" data-action="editImage" src="{{item.img}}" title="{{item.name}}" />
<div class="header-fields hero-copy">
<p class="sheet-kicker">Art occulte</p>
<h1 class="sheet-title"><input name="name" type="text" value="{{item.name}}" placeholder="Nom" {{#if isPlayMode}}disabled{{/if}} /></h1>
<button class="mode-button" type="button" data-action="toggleSheet">{{#if isEditMode}}{{localize "LESOUBLIES.ui.playMode"}}{{else}}{{localize "LESOUBLIES.ui.editMode"}}{{/if}}</button>
</div>
</header>
<section class="sheet-card summary-card">
<div class="field-row"><label>Tradition</label><input name="system.tradition" type="text" value="{{system.tradition}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Compétence</label><input name="system.skillKey" type="text" value="{{system.skillKey}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>Polarité</label><input name="system.polarity" type="text" value="{{system.polarity}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.cout"}}</label><input name="system.cost" type="number" value="{{system.cost}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.preparation"}}</label><input name="system.preparation" type="text" value="{{system.preparation}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.duree"}}</label><input name="system.duration" type="text" value="{{system.duration}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.portee"}}</label><input name="system.range" type="text" value="{{system.range}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.aire"}}</label><input name="system.area" type="text" value="{{system.area}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<div class="field-row"><label>{{localize "LESOUBLIES.labels.cumul"}}</label><input name="system.stacking" type="text" value="{{system.stacking}}" {{#if isPlayMode}}disabled{{/if}} /></div>
<p><strong>{{localize "LESOUBLIES.labels.domaines}} :</strong> {{join system.requiredDomains}}</p>
<p><strong>Arts requis :</strong> {{join system.artsDomains}}</p>
<p><strong>Tags :</strong> {{join system.ruleTags}}</p>
</section>
<section class="sheet-card notes-card">
<h2>{{localize "LESOUBLIES.labels.description"}}</h2>
{{editor system.description target="system.description" button=true editable=isEditMode}}
<h2>Effets</h2>
{{editor system.effectsText target="system.effectsText" button=true editable=isEditMode}}
</section>
</section>