1 Commits
14.0.0 ... main

Author SHA1 Message Date
1d6e6dd44e Corrections sur les clés de label manquantes
Some checks failed
Release Creation / build (release) Failing after 54s
2026-04-16 21:53:26 +02:00
25 changed files with 252 additions and 161 deletions

View File

@@ -23,6 +23,83 @@
"DNC.Chat.SelectTarget": "Choisissez une cible presente sur la scene.", "DNC.Chat.SelectTarget": "Choisissez une cible presente sur la scene.",
"DNC.Chat.TargetUnavailable": "La cible selectionnee n'est plus disponible.", "DNC.Chat.TargetUnavailable": "La cible selectionnee n'est plus disponible.",
"DNC.Chat.InvalidDamageTarget": "Impossible d'appliquer les degats a cette cible.", "DNC.Chat.InvalidDamageTarget": "Impossible d'appliquer les degats a cette cible.",
"DNC.Chat.Kicker.Resolution": "Resolution",
"DNC.Chat.Kicker.Magic": "Magie",
"DNC.Chat.Kicker.Wear": "Usure",
"DNC.Chat.Kicker.Network": "Reseau",
"DNC.Chat.Kicker.Initiative": "Ordre de marche",
"DNC.Chat.Success": "Reussite",
"DNC.Chat.Failure": "Echec",
"DNC.Chat.Favor": "Faveur",
"DNC.Chat.Target": "Cible",
"DNC.Chat.Kept": "Garde",
"DNC.Chat.Rolls": "Lancers",
"DNC.Chat.RollDamage": "Lancer les degats",
"DNC.Chat.RollValue": "Jet",
"DNC.Chat.AutoDisadvantage": "Desavantage automatique",
"DNC.Chat.RiskChaos": "Risquer le Chaos",
"DNC.Chat.Result": "Resultat",
"DNC.Chat.Before": "Avant",
"DNC.Chat.After": "Apres",
"DNC.Chat.Total": "Total",
"DNC.Chat.Bonus": "Bonus",
"DNC.Chat.CombatSynced": "Combat synchronise",
"DNC.Chat.TargetValue": "Valeur cible",
"DNC.Chat.FavorDie": "De de faveur",
"DNC.Chat.CharacteristicValue": "Valeur de la caracteristique",
"DNC.Chat.HpCost": "Cout en PV",
"DNC.Chat.FocusSpent": "Focus depense",
"DNC.Chat.FocusRemaining": "Focus restant",
"DNC.Chat.HpSpent": "PV depenses",
"DNC.Chat.HpRemaining": "PV restants",
"DNC.Chat.CasterRank": "Rang du lanceur",
"DNC.Chat.Difficulty": "Difficulte",
"DNC.Chat.Effect": "Effet",
"DNC.Chat.StoredProtection": "Protection stockee pour ce combat",
"DNC.Chat.ResourceWearsDown": "La ressource s'amenuise.",
"DNC.Chat.ResourceStable": "La ressource tient bon.",
"DNC.Chat.ResourceExhausted": "La ressource est epuisee.",
"DNC.Chat.AutoDisadvantageCanceled": "le cout du sort depasse le rang du lanceur, mais une faveur l'a annule.",
"DNC.Chat.AutoDisadvantageApplies": "le cout du sort depasse le rang du lanceur.",
"DNC.Chat.FocusFrom": "depuis",
"DNC.Chat.FocusUsed": "utilise",
"DNC.Chat.FocusLeft": "restant",
"DNC.Chat.FocusDropsTo": "le focus descend a",
"DNC.Chat.FirstSpellScene": "premier sort de la scene",
"DNC.Chat.FocusNoBenefit": "aucun apport pour cette scene.",
"DNC.Chat.ChaosSubtitle": "La magie opere malgre l'echec ; le MJ determine les consequences.",
"DNC.Chat.SpellMaintained": "Sort maintenu",
"DNC.Chat.ChaosDieDrops": "Le de du Chaos descend d'un cran.",
"DNC.Chat.ChaosDieExhausted": "Le de du Chaos est trop faible pour etre reutilise dans le Donjon.",
"DNC.UI.Mode": "Mode",
"DNC.UI.ModeNormal": "Normal",
"DNC.UI.ModeAdvantage": "Avantage",
"DNC.UI.ModeDisadvantage": "Desavantage",
"DNC.UI.FavorBoost": "Coup de pouce",
"DNC.UI.NoFavor": "Aucune faveur",
"DNC.UI.RollAction": "Lancer",
"DNC.UI.AttackAction": "Attaquer",
"DNC.UI.UseAction": "Utiliser",
"DNC.UI.Characteristic": "Caracteristique",
"DNC.UI.Cost": "Cout",
"DNC.UI.CurrentHp": "PV actuels",
"DNC.UI.Rank": "Rang",
"DNC.UI.Focus": "Focus",
"DNC.UI.Chaos": "Chaos",
"DNC.UI.Weapon": "Arme",
"DNC.UI.Damage": "Degats",
"DNC.UI.Range": "Portee",
"DNC.UI.Spell": "Sortilege",
"DNC.Dialog.InitiativeIntro": "<strong>{actorName}</strong> lance l'initiative.",
"DNC.Dialog.InitiativeCurrent": "DEX actuelle : <strong>{dex}</strong>, bonus de fiche : <strong>{initiativeBonus}</strong>",
"DNC.Dialog.CharacteristicUsed": "Caracteristique utilisee",
"DNC.Dialog.ActorDamageBonus": "Bonus de degats de l'acteur",
"DNC.Dialog.SpellAutoDisadvantage": "Le cout depasse le rang du lanceur : le jet se fera automatiquement avec desavantage.",
"DNC.Dialog.UseUsageDie": "Utiliser <strong>{itemName}</strong> et lancer son de d'usage actuel.",
"DNC.Dialog.CurrentValue": "Valeur actuelle",
"DNC.Warn.NoFavorAvailable": "Aucune faveur disponible pour {label}.",
"DNC.Warn.SpellInsufficientResources": "Le lanceur ne dispose pas d'assez de PV et de focus pour payer ce sort.",
"DNC.Warn.ChaosUnavailable": "Le Chaos n'est pas disponible pour ce sort.",
"DNC.Sheet.Create": "Creer", "DNC.Sheet.Create": "Creer",
"DNC.Sheet.Delete": "Supprimer", "DNC.Sheet.Delete": "Supprimer",
"DNC.Sheet.Edit": "Editer", "DNC.Sheet.Edit": "Editer",

View File

@@ -32,7 +32,7 @@ export class DonjonEtCieRollDialog {
buttons: [ buttons: [
{ {
action: "roll", action: "roll",
label: "Lancer", label: game.i18n.localize("DNC.UI.RollAction"),
icon: "fa-solid fa-bolt", icon: "fa-solid fa-bolt",
default: true, default: true,
callback: async (event, button) => { callback: async (event, button) => {
@@ -70,7 +70,7 @@ export class DonjonEtCieRollDialog {
buttons: [ buttons: [
{ {
action: "roll", action: "roll",
label: "Lancer", label: game.i18n.localize("DNC.UI.RollAction"),
icon: "fa-solid fa-dice-d20", icon: "fa-solid fa-dice-d20",
default: true, default: true,
callback: async (event, button) => { callback: async (event, button) => {
@@ -107,7 +107,7 @@ export class DonjonEtCieRollDialog {
buttons: [ buttons: [
{ {
action: "roll", action: "roll",
label: "Attaquer", label: game.i18n.localize("DNC.UI.AttackAction"),
icon: "fa-solid fa-sword", icon: "fa-solid fa-sword",
default: true, default: true,
callback: async (event, button) => { callback: async (event, button) => {
@@ -153,7 +153,7 @@ export class DonjonEtCieRollDialog {
buttons: [ buttons: [
{ {
action: "roll", action: "roll",
label: "Lancer", label: game.i18n.localize("DNC.UI.RollAction"),
icon: "fa-solid fa-wand-magic-sparkles", icon: "fa-solid fa-wand-magic-sparkles",
default: true, default: true,
callback: async (event, button) => { callback: async (event, button) => {
@@ -185,7 +185,7 @@ export class DonjonEtCieRollDialog {
buttons: [ buttons: [
{ {
action: "roll", action: "roll",
label: "Utiliser", label: game.i18n.localize("DNC.UI.UseAction"),
icon: "fa-solid fa-hourglass-half", icon: "fa-solid fa-hourglass-half",
default: true, default: true,
callback: async (event, button) => { callback: async (event, button) => {
@@ -218,7 +218,7 @@ export class DonjonEtCieRollDialog {
buttons: [ buttons: [
{ {
action: "roll", action: "roll",
label: "Lancer", label: game.i18n.localize("DNC.UI.RollAction"),
icon: "fa-solid fa-burst", icon: "fa-solid fa-burst",
default: true, default: true,
callback: async (event, button) => { callback: async (event, button) => {

View File

@@ -35,8 +35,9 @@ export class DonjonEtCieRolls {
} }
static #getModeLabel(mode) { static #getModeLabel(mode) {
if (mode === "avantage") return "Avantage"; if (mode === "avantage") return game.i18n.localize("DNC.UI.ModeAdvantage");
if (mode === "desavantage") return "Desavantage"; if (mode === "desavantage") return game.i18n.localize("DNC.UI.ModeDisadvantage");
if (mode === "normal") return game.i18n.localize("DNC.UI.ModeNormal");
return null; return null;
} }
@@ -77,7 +78,7 @@ export class DonjonEtCieRolls {
const path = `system.faveurs.${favorKey}.delta`; const path = `system.faveurs.${favorKey}.delta`;
const before = Number(foundry.utils.getProperty(actor, path) ?? 0); const before = Number(foundry.utils.getProperty(actor, path) ?? 0);
if (!before) { if (!before) {
ui.notifications.warn(`Aucune faveur disponible pour ${label}.`); ui.notifications.warn(game.i18n.format("DNC.Warn.NoFavorAvailable", { label }));
return null; return null;
} }
@@ -113,7 +114,7 @@ export class DonjonEtCieRolls {
const path = `system.faveurs.${favorKey}.delta`; const path = `system.faveurs.${favorKey}.delta`;
const before = Number(foundry.utils.getProperty(actor, path) ?? 0); const before = Number(foundry.utils.getProperty(actor, path) ?? 0);
if (!before) { if (!before) {
ui.notifications.warn(`Aucune faveur disponible pour ${label}.`); ui.notifications.warn(game.i18n.format("DNC.Warn.NoFavorAvailable", { label }));
return null; return null;
} }
@@ -182,29 +183,29 @@ export class DonjonEtCieRolls {
if (!result) return null; if (!result) return null;
await this.#createChatCard(actor, "systems/fvtt-donjon-et-cie/templates/chat/roll-card.hbs", { await this.#createChatCard(actor, "systems/fvtt-donjon-et-cie/templates/chat/roll-card.hbs", {
title: label ?? "Jet de caracteristique", title: label ?? game.i18n.localize("DNC.Roll.Characteristic"),
subtitle: result.characteristic.label, subtitle: result.characteristic.label,
formula: result.values.length > 1 ? "2d20" : "1d20", formula: result.values.length > 1 ? "2d20" : "1d20",
mode: effectiveMode, mode: effectiveMode,
modeLabel: this.#getModeLabel(effectiveMode), modeLabel: this.#getModeLabel(effectiveMode),
target: result.target, target: result.target,
targetPillLabel: "Cible", targetPillLabel: game.i18n.localize("DNC.Chat.Target"),
targetPillValue: result.target, targetPillValue: result.target,
values: result.values, values: result.values,
kept: result.kept, kept: result.kept,
keptPillLabel: "Garde", keptPillLabel: game.i18n.localize("DNC.Chat.Kept"),
keptPillValue: result.kept, keptPillValue: result.kept,
success: result.success, success: result.success,
favorLabel: favor?.label ?? null, favorLabel: favor?.label ?? null,
favorNote: favor?.note ?? null, favorNote: favor?.note ?? null,
details: [ details: [
{ label: "Caracteristique", value: result.characteristic.label }, { label: game.i18n.localize("DNC.UI.Characteristic"), value: result.characteristic.label },
{ label: "Valeur cible", value: result.target }, { label: game.i18n.localize("DNC.Chat.TargetValue"), value: result.target },
...(favor ? [ ...(favor ? [
{ label: "Faveur", value: favor.label }, { label: game.i18n.localize("DNC.Chat.Favor"), value: favor.label },
{ label: "Dé de faveur", value: favor.result }, { label: game.i18n.localize("DNC.Chat.FavorDie"), value: favor.result },
{ label: "Avant", value: DonjonEtCieUtility.formatUsageDie(favor.before) }, { label: game.i18n.localize("DNC.Chat.Before"), value: DonjonEtCieUtility.formatUsageDie(favor.before) },
{ label: "Apres", value: DonjonEtCieUtility.formatUsageDie(favor.after) } { label: game.i18n.localize("DNC.Chat.After"), value: DonjonEtCieUtility.formatUsageDie(favor.after) }
] : []) ] : [])
] ]
}); });
@@ -297,7 +298,7 @@ export class DonjonEtCieRolls {
targetPillValue: result.target, targetPillValue: result.target,
values: result.values, values: result.values,
kept: result.kept, kept: result.kept,
keptPillLabel: "Jet", keptPillLabel: game.i18n.localize("DNC.Chat.RollValue"),
keptPillValue: result.kept, keptPillValue: result.kept,
success: result.success, success: result.success,
favorLabel: favor?.label ?? null, favorLabel: favor?.label ?? null,
@@ -305,16 +306,16 @@ export class DonjonEtCieRolls {
showDamageButton: result.success && Boolean(item.system.degats), showDamageButton: result.success && Boolean(item.system.degats),
itemUuid: item.uuid, itemUuid: item.uuid,
details: [ details: [
{ label: "Arme", value: item.name }, { label: game.i18n.localize("DNC.UI.Weapon"), value: item.name },
{ label: "Caracteristique", value: characteristicLabel }, { label: game.i18n.localize("DNC.UI.Characteristic"), value: characteristicLabel },
{ label: `Valeur de ${characteristicLabel}`, value: result.target }, { label: `Valeur de ${characteristicLabel}`, value: result.target },
{ label: "Degats", value: item.system.degats || "—" }, { label: game.i18n.localize("DNC.UI.Damage"), value: item.system.degats || "—" },
{ label: "Portee", value: item.system.portee || "—" }, { label: game.i18n.localize("DNC.UI.Range"), value: item.system.portee || "—" },
...(favor ? [ ...(favor ? [
{ label: "Faveur", value: favor.label }, { label: game.i18n.localize("DNC.Chat.Favor"), value: favor.label },
{ label: "Dé de faveur", value: favor.result }, { label: game.i18n.localize("DNC.Chat.FavorDie"), value: favor.result },
{ label: "Avant", value: DonjonEtCieUtility.formatUsageDie(favor.before) }, { label: game.i18n.localize("DNC.Chat.Before"), value: DonjonEtCieUtility.formatUsageDie(favor.before) },
{ label: "Apres", value: DonjonEtCieUtility.formatUsageDie(favor.after) } { label: game.i18n.localize("DNC.Chat.After"), value: DonjonEtCieUtility.formatUsageDie(favor.after) }
] : []) ] : [])
] ]
}); });
@@ -402,7 +403,7 @@ export class DonjonEtCieRolls {
const availableMagicHp = currentPv + focus.activeValue; const availableMagicHp = currentPv + focus.activeValue;
if (cost > availableMagicHp) { if (cost > availableMagicHp) {
ui.notifications.warn("Le lanceur ne dispose pas d'assez de PV et de focus pour payer ce sort."); ui.notifications.warn(game.i18n.localize("DNC.Warn.SpellInsufficientResources"));
return null; return null;
} }
@@ -445,7 +446,7 @@ export class DonjonEtCieRolls {
targetPillValue: result.target, targetPillValue: result.target,
values: result.values, values: result.values,
kept: result.kept, kept: result.kept,
keptPillLabel: "Jet", keptPillLabel: game.i18n.localize("DNC.Chat.RollValue"),
keptPillValue: result.kept, keptPillValue: result.kept,
success, success,
specialNote, specialNote,
@@ -454,23 +455,23 @@ export class DonjonEtCieRolls {
itemUuid: item.uuid, itemUuid: item.uuid,
actorUuid: actor.uuid, actorUuid: actor.uuid,
details: [ details: [
{ label: "Sortilege", value: item.name }, { label: game.i18n.localize("DNC.UI.Spell"), value: item.name },
{ label: "Caracteristique", value: result.characteristic.label }, { label: game.i18n.localize("DNC.UI.Characteristic"), value: result.characteristic.label },
{ label: "Valeur de la caracteristique", value: result.target }, { label: game.i18n.localize("DNC.Chat.CharacteristicValue"), value: result.target },
{ label: "Cout en PV", value: cost }, { label: game.i18n.localize("DNC.Chat.HpCost"), value: cost },
{ label: "Focus", value: focus.activeValue > 0 ? `${focus.activeValue} (${DonjonEtCieUtility.formatUsageDie(focus.before)})` : "—" }, { label: game.i18n.localize("DNC.UI.Focus"), value: focus.activeValue > 0 ? `${focus.activeValue} (${DonjonEtCieUtility.formatUsageDie(focus.before)})` : "—" },
{ label: "Focus depense", value: focusSpent }, { label: game.i18n.localize("DNC.Chat.FocusSpent"), value: focusSpent },
{ label: "Focus restant", value: focusRemaining }, { label: game.i18n.localize("DNC.Chat.FocusRemaining"), value: focusRemaining },
{ label: "PV depenses", value: spentPv }, { label: game.i18n.localize("DNC.Chat.HpSpent"), value: spentPv },
{ label: "PV restants", value: remainingPv }, { label: game.i18n.localize("DNC.Chat.HpRemaining"), value: remainingPv },
{ label: "Rang du lanceur", value: rank }, { label: game.i18n.localize("DNC.Chat.CasterRank"), value: rank },
{ label: "Difficulte", value: item.system.difficulte ?? 0 }, { label: game.i18n.localize("DNC.Chat.Difficulty"), value: item.system.difficulte ?? 0 },
{ label: "Effet", value: item.system.effet || "—" }, { label: game.i18n.localize("DNC.Chat.Effect"), value: item.system.effet || "—" },
...(favor ? [ ...(favor ? [
{ label: "Faveur", value: favor.label }, { label: game.i18n.localize("DNC.Chat.Favor"), value: favor.label },
{ label: "Dé de faveur", value: favor.result }, { label: game.i18n.localize("DNC.Chat.FavorDie"), value: favor.result },
{ label: "Avant", value: DonjonEtCieUtility.formatUsageDie(favor.before) }, { label: game.i18n.localize("DNC.Chat.Before"), value: DonjonEtCieUtility.formatUsageDie(favor.before) },
{ label: "Apres", value: DonjonEtCieUtility.formatUsageDie(favor.after) } { label: game.i18n.localize("DNC.Chat.After"), value: DonjonEtCieUtility.formatUsageDie(favor.after) }
] : []) ] : [])
], ],
focusRolled: focus.rolled, focusRolled: focus.rolled,
@@ -490,7 +491,7 @@ export class DonjonEtCieRolls {
static async rollSpellChaos(actor, item) { static async rollSpellChaos(actor, item) {
const before = Number(actor?.system?.magie?.chaos?.delta ?? 12); const before = Number(actor?.system?.magie?.chaos?.delta ?? 12);
if (!before || before < 4) { if (!before || before < 4) {
ui.notifications.warn("Le Chaos n'est pas disponible pour ce sort."); ui.notifications.warn(game.i18n.localize("DNC.Warn.ChaosUnavailable"));
return null; return null;
} }

View File

@@ -1 +1 @@
MANIFEST-000019 MANIFEST-000027

View File

@@ -1,3 +1,8 @@
2026/04/13-20:45:52.211396 7f68497ed6c0 Recovering log #17 2026/04/16-21:42:54.235115 7f268abff6c0 Recovering log #25
2026/04/13-20:45:52.220887 7f68497ed6c0 Delete type=3 #15 2026/04/16-21:42:54.246984 7f268abff6c0 Delete type=3 #23
2026/04/13-20:45:52.220974 7f68497ed6c0 Delete type=0 #17 2026/04/16-21:42:54.247108 7f268abff6c0 Delete type=0 #25
2026/04/16-21:52:13.467303 7f2688bfb6c0 Level-0 table #30: started
2026/04/16-21:52:13.467365 7f2688bfb6c0 Level-0 table #30: 0 bytes OK
2026/04/16-21:52:13.473605 7f2688bfb6c0 Delete type=0 #28
2026/04/16-21:52:13.492993 7f2688bfb6c0 Manual compaction at level-0 from '!folders!K9aiFu0dE6UYiXBd' @ 72057594037927935 : 1 .. '!items!zyqLzmpbHxK3jt5q' @ 0 : 0; will stop at (end)
2026/04/16-21:52:13.493035 7f2688bfb6c0 Manual compaction at level-1 from '!folders!K9aiFu0dE6UYiXBd' @ 72057594037927935 : 1 .. '!items!zyqLzmpbHxK3jt5q' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2026/04/13-15:38:21.573543 7f2a6bfff6c0 Recovering log #12 2026/04/16-21:36:49.799525 7f268a3fe6c0 Recovering log #21
2026/04/13-15:38:21.584944 7f2a6bfff6c0 Delete type=3 #10 2026/04/16-21:36:49.811240 7f268a3fe6c0 Delete type=3 #19
2026/04/13-15:38:21.585068 7f2a6bfff6c0 Delete type=0 #12 2026/04/16-21:36:49.811393 7f268a3fe6c0 Delete type=0 #21
2026/04/13-15:53:03.495112 7f2a69ffb6c0 Level-0 table #18: started 2026/04/16-21:42:33.287551 7f2688bfb6c0 Level-0 table #26: started
2026/04/13-15:53:03.495152 7f2a69ffb6c0 Level-0 table #18: 0 bytes OK 2026/04/16-21:42:33.287592 7f2688bfb6c0 Level-0 table #26: 0 bytes OK
2026/04/13-15:53:03.502660 7f2a69ffb6c0 Delete type=0 #16 2026/04/16-21:42:33.293864 7f2688bfb6c0 Delete type=0 #24
2026/04/13-15:53:03.512745 7f2a69ffb6c0 Manual compaction at level-0 from '!folders!K9aiFu0dE6UYiXBd' @ 72057594037927935 : 1 .. '!items!zyqLzmpbHxK3jt5q' @ 0 : 0; will stop at (end) 2026/04/16-21:42:33.294114 7f2688bfb6c0 Manual compaction at level-0 from '!folders!K9aiFu0dE6UYiXBd' @ 72057594037927935 : 1 .. '!items!zyqLzmpbHxK3jt5q' @ 0 : 0; will stop at (end)
2026/04/13-15:53:03.512766 7f2a69ffb6c0 Manual compaction at level-1 from '!folders!K9aiFu0dE6UYiXBd' @ 72057594037927935 : 1 .. '!items!zyqLzmpbHxK3jt5q' @ 0 : 0; will stop at (end) 2026/04/16-21:42:33.305404 7f2688bfb6c0 Manual compaction at level-1 from '!folders!K9aiFu0dE6UYiXBd' @ 72057594037927935 : 1 .. '!items!zyqLzmpbHxK3jt5q' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000006 MANIFEST-000014

View File

@@ -1,3 +1,8 @@
2026/04/13-20:45:52.223768 7f6849fee6c0 Recovering log #4 2026/04/16-21:42:54.253629 7f26893fc6c0 Recovering log #12
2026/04/13-20:45:52.234123 7f6849fee6c0 Delete type=3 #2 2026/04/16-21:42:54.264466 7f26893fc6c0 Delete type=3 #10
2026/04/13-20:45:52.234212 7f6849fee6c0 Delete type=0 #4 2026/04/16-21:42:54.264594 7f26893fc6c0 Delete type=0 #12
2026/04/16-21:52:13.479973 7f2688bfb6c0 Level-0 table #17: started
2026/04/16-21:52:13.480006 7f2688bfb6c0 Level-0 table #17: 0 bytes OK
2026/04/16-21:52:13.486314 7f2688bfb6c0 Delete type=0 #15
2026/04/16-21:52:13.493013 7f2688bfb6c0 Manual compaction at level-0 from '!tables!PPsxQgHwLCQ2gjSW' @ 72057594037927935 : 1 .. '!tables.results!wJZXUo4q5b5vE3Dy.zFTPLMc9zOl5hISV' @ 0 : 0; will stop at (end)
2026/04/16-21:52:13.493041 7f2688bfb6c0 Manual compaction at level-1 from '!tables!PPsxQgHwLCQ2gjSW' @ 72057594037927935 : 1 .. '!tables.results!wJZXUo4q5b5vE3Dy.zFTPLMc9zOl5hISV' @ 0 : 0; will stop at (end)

View File

@@ -1,5 +1,8 @@
2026/04/13-15:38:21.601302 7f2a6a7fc6c0 Delete type=3 #1 2026/04/16-21:36:49.818474 7f2689bfd6c0 Recovering log #8
2026/04/13-15:53:03.477052 7f2a69ffb6c0 Level-0 table #5: started 2026/04/16-21:36:49.829906 7f2689bfd6c0 Delete type=3 #6
2026/04/13-15:53:03.481742 7f2a69ffb6c0 Level-0 table #5: 39147 bytes OK 2026/04/16-21:36:49.830072 7f2689bfd6c0 Delete type=0 #8
2026/04/13-15:53:03.488722 7f2a69ffb6c0 Delete type=0 #3 2026/04/16-21:42:33.280445 7f2688bfb6c0 Level-0 table #13: started
2026/04/13-15:53:03.512725 7f2a69ffb6c0 Manual compaction at level-0 from '!tables!PPsxQgHwLCQ2gjSW' @ 72057594037927935 : 1 .. '!tables.results!wJZXUo4q5b5vE3Dy.zFTPLMc9zOl5hISV' @ 0 : 0; will stop at (end) 2026/04/16-21:42:33.280504 7f2688bfb6c0 Level-0 table #13: 0 bytes OK
2026/04/16-21:42:33.287252 7f2688bfb6c0 Delete type=0 #11
2026/04/16-21:42:33.294093 7f2688bfb6c0 Manual compaction at level-0 from '!tables!PPsxQgHwLCQ2gjSW' @ 72057594037927935 : 1 .. '!tables.results!wJZXUo4q5b5vE3Dy.zFTPLMc9zOl5hISV' @ 0 : 0; will stop at (end)
2026/04/16-21:42:33.305387 7f2688bfb6c0 Manual compaction at level-1 from '!tables!PPsxQgHwLCQ2gjSW' @ 72057594037927935 : 1 .. '!tables.results!wJZXUo4q5b5vE3Dy.zFTPLMc9zOl5hISV' @ 0 : 0; will stop at (end)

View File

@@ -1,19 +1,19 @@
<section class="dnc-chat-card dnc-chat-card-chaos"> <section class="dnc-chat-card dnc-chat-card-chaos">
<header class="chat-card-header"> <header class="chat-card-header">
<div class="chat-card-heading"> <div class="chat-card-heading">
<p class="chat-card-kicker">Chaos</p> <p class="chat-card-kicker">{{localize "DNC.UI.Chaos"}}</p>
<h2>{{title}}</h2> <h2>{{title}}</h2>
<p class="chat-card-subtitle">La magie opere malgre l'echec ; le MJ determine les consequences.</p> <p class="chat-card-subtitle">{{localize "DNC.Chat.ChaosSubtitle"}}</p>
</div> </div>
<div class="chat-card-total"> <div class="chat-card-total">
<span>Jet</span> <span>{{localize "DNC.Chat.RollValue"}}</span>
<strong>{{value}}</strong> <strong>{{value}}</strong>
</div> </div>
</header> </header>
<div class="chat-pill-row"> <div class="chat-pill-row">
<span class="chat-pill success">Sort maintenu</span> <span class="chat-pill success">{{localize "DNC.Chat.SpellMaintained"}}</span>
<span class="chat-pill">Avant {{before}}</span> <span class="chat-pill">{{localize "DNC.Chat.Before"}} {{before}}</span>
<span class="chat-pill">Apres {{after}}</span> <span class="chat-pill">{{localize "DNC.Chat.After"}} {{after}}</span>
</div> </div>
{{#if chaosEntry}} {{#if chaosEntry}}
<div class="chat-chaos-result"> <div class="chat-chaos-result">
@@ -22,9 +22,9 @@
</div> </div>
{{/if}} {{/if}}
{{#if degraded}} {{#if degraded}}
<p class="chat-note warning">Le de du Chaos descend d'un cran.</p> <p class="chat-note warning">{{localize "DNC.Chat.ChaosDieDrops"}}</p>
{{/if}} {{/if}}
{{#if exhausted}} {{#if exhausted}}
<p class="chat-note warning">Le de du Chaos est trop faible pour etre reutilise dans le Donjon.</p> <p class="chat-note warning">{{localize "DNC.Chat.ChaosDieExhausted"}}</p>
{{/if}} {{/if}}
</section> </section>

View File

@@ -1,7 +1,7 @@
<section class="dnc-chat-card dnc-chat-card-favor"> <section class="dnc-chat-card dnc-chat-card-favor">
<header class="chat-card-header"> <header class="chat-card-header">
<div class="chat-card-heading"> <div class="chat-card-heading">
<p class="chat-card-kicker">Reseau</p> <p class="chat-card-kicker">{{localize "DNC.Chat.Kicker.Network"}}</p>
<h2>{{title}}</h2> <h2>{{title}}</h2>
{{#if subtitle}}<p class="chat-card-subtitle">{{subtitle}}</p>{{/if}} {{#if subtitle}}<p class="chat-card-subtitle">{{subtitle}}</p>{{/if}}
</div> </div>
@@ -10,8 +10,8 @@
</div> </div>
</header> </header>
<div class="chat-pill-row"> <div class="chat-pill-row">
<span class="chat-pill">Avant {{before}}</span> <span class="chat-pill">{{localize "DNC.Chat.Before"}} {{before}}</span>
<span class="chat-pill">Apres {{after}}</span> <span class="chat-pill">{{localize "DNC.Chat.After"}} {{after}}</span>
</div> </div>
<p class="chat-note">{{note}}</p> <p class="chat-note">{{note}}</p>
</section> </section>

View File

@@ -1,13 +1,13 @@
<section class="dnc-chat-card dnc-chat-card-initiative"> <section class="dnc-chat-card dnc-chat-card-initiative">
<header class="initiative-header"> <header class="initiative-header">
<div class="chat-card-heading"> <div class="chat-card-heading">
<p class="chat-card-kicker">Ordre de marche</p> <p class="chat-card-kicker">{{localize "DNC.Chat.Kicker.Initiative"}}</p>
<h2>{{title}}</h2> <h2>{{title}}</h2>
<p class="chat-card-subtitle">{{actorName}}</p> <p class="chat-card-subtitle">{{actorName}}</p>
{{#if modeLabel}}<p class="chat-card-subtitle">{{modeLabel}}</p>{{/if}} {{#if modeLabel}}<p class="chat-card-subtitle">{{modeLabel}}</p>{{/if}}
</div> </div>
<div class="initiative-total"> <div class="initiative-total">
<span class="initiative-total-label">Total</span> <span class="initiative-total-label">{{localize "DNC.Chat.Total"}}</span>
<strong>{{total}}</strong> <strong>{{total}}</strong>
</div> </div>
</header> </header>
@@ -24,19 +24,19 @@
</div> </div>
<div class="initiative-operator">+</div> <div class="initiative-operator">+</div>
<div class="initiative-part"> <div class="initiative-part">
<span class="initiative-part-label">Bonus</span> <span class="initiative-part-label">{{localize "DNC.Chat.Bonus"}}</span>
<strong>{{bonus}}</strong> <strong>{{bonus}}</strong>
</div> </div>
</div> </div>
<p class="initiative-formula">{{formula}}</p> <p class="initiative-formula">{{formula}}</p>
{{#if dieValues.[1]}} {{#if dieValues.[1]}}
<p class="roll-values">Lancers : {{#each dieValues}}<span>{{this}}</span>{{/each}}</p> <p class="roll-values">{{localize "DNC.Chat.Rolls"}} : {{#each dieValues}}<span>{{this}}</span>{{/each}}</p>
{{/if}} {{/if}}
{{#if syncedCombat}} {{#if syncedCombat}}
<div class="initiative-sync"> <div class="initiative-sync">
<span class="chat-pill success">Combat synchronise</span> <span class="chat-pill success">{{localize "DNC.Chat.CombatSynced"}}</span>
<p>{{syncedCombat.name}} · rang {{syncedCombat.rank}} / {{syncedCombat.total}}</p> <p>{{syncedCombat.name}} · rang {{syncedCombat.rank}} / {{syncedCombat.total}}</p>
</div> </div>
{{/if}} {{/if}}

View File

@@ -1,7 +1,7 @@
<section class="dnc-chat-card dnc-chat-card-roll"> <section class="dnc-chat-card dnc-chat-card-roll">
<header class="chat-card-header"> <header class="chat-card-header">
<div class="chat-card-heading"> <div class="chat-card-heading">
<p class="chat-card-kicker">Resolution</p> <p class="chat-card-kicker">{{localize "DNC.Chat.Kicker.Resolution"}}</p>
<h2>{{title}}</h2> <h2>{{title}}</h2>
{{#if subtitle}}<p class="chat-card-subtitle">{{subtitle}}</p>{{/if}} {{#if subtitle}}<p class="chat-card-subtitle">{{subtitle}}</p>{{/if}}
</div> </div>
@@ -10,23 +10,23 @@
</div> </div>
</header> </header>
<div class="chat-pill-row"> <div class="chat-pill-row">
<span class="chat-pill {{#if success}}success{{else}}failure{{/if}}">{{#if success}}Reussite{{else}}Echec{{/if}}</span> <span class="chat-pill {{#if success}}success{{else}}failure{{/if}}">{{#if success}}{{localize "DNC.Chat.Success"}}{{else}}{{localize "DNC.Chat.Failure"}}{{/if}}</span>
{{#if modeLabel}}<span class="chat-pill">{{modeLabel}}</span>{{/if}} {{#if modeLabel}}<span class="chat-pill">{{modeLabel}}</span>{{/if}}
{{#if favorLabel}}<span class="chat-pill">Faveur {{favorLabel}}</span>{{/if}} {{#if favorLabel}}<span class="chat-pill">{{localize "DNC.Chat.Favor"}} {{favorLabel}}</span>{{/if}}
{{#if targetPillLabel}}<span class="chat-pill">{{targetPillLabel}} {{targetPillValue}}</span>{{else}}<span class="chat-pill">Cible {{target}}</span>{{/if}} {{#if targetPillLabel}}<span class="chat-pill">{{targetPillLabel}} {{targetPillValue}}</span>{{else}}<span class="chat-pill">{{localize "DNC.Chat.Target"}} {{target}}</span>{{/if}}
{{#if keptPillLabel}}<span class="chat-pill">{{keptPillLabel}} {{keptPillValue}}</span>{{else}}<span class="chat-pill">Garde {{kept}}</span>{{/if}} {{#if keptPillLabel}}<span class="chat-pill">{{keptPillLabel}} {{keptPillValue}}</span>{{else}}<span class="chat-pill">{{localize "DNC.Chat.Kept"}} {{kept}}</span>{{/if}}
</div> </div>
<div class="chat-keyline"> <div class="chat-keyline">
<span class="chat-keyline-label">Lancers</span> <span class="chat-keyline-label">{{localize "DNC.Chat.Rolls"}}</span>
<p class="roll-values">{{#each values}}<span>{{this}}</span>{{/each}}</p> <p class="roll-values">{{#each values}}<span>{{this}}</span>{{/each}}</p>
</div> </div>
{{#if favorNote}} {{#if favorNote}}
<p class="chat-note"><strong>Faveur</strong> : {{favorNote}}</p> <p class="chat-note"><strong>{{localize "DNC.Chat.Favor"}}</strong> : {{favorNote}}</p>
{{/if}} {{/if}}
{{#if showDamageButton}} {{#if showDamageButton}}
<div class="chat-actions"> <div class="chat-actions">
<button type="button" class="chat-action-button" data-action="rollChatDamage" data-item-uuid="{{itemUuid}}"> <button type="button" class="chat-action-button" data-action="rollChatDamage" data-item-uuid="{{itemUuid}}">
<i class="fa-solid fa-burst"></i> Lancer les degats <i class="fa-solid fa-burst"></i> {{localize "DNC.Chat.RollDamage"}}
</button> </button>
</div> </div>
{{/if}} {{/if}}

View File

@@ -1,7 +1,7 @@
<section class="dnc-chat-card dnc-chat-card-spell"> <section class="dnc-chat-card dnc-chat-card-spell">
<header class="chat-card-header"> <header class="chat-card-header">
<div class="chat-card-heading"> <div class="chat-card-heading">
<p class="chat-card-kicker">Magie</p> <p class="chat-card-kicker">{{localize "DNC.Chat.Kicker.Magic"}}</p>
<h2>{{title}}</h2> <h2>{{title}}</h2>
{{#if subtitle}}<p class="chat-card-subtitle">{{subtitle}}</p>{{/if}} {{#if subtitle}}<p class="chat-card-subtitle">{{subtitle}}</p>{{/if}}
</div> </div>
@@ -10,57 +10,57 @@
</div> </div>
</header> </header>
<div class="chat-pill-row"> <div class="chat-pill-row">
<span class="chat-pill {{#if success}}success{{else}}failure{{/if}}">{{#if success}}Reussite{{else}}Echec{{/if}}</span> <span class="chat-pill {{#if success}}success{{else}}failure{{/if}}">{{#if success}}{{localize "DNC.Chat.Success"}}{{else}}{{localize "DNC.Chat.Failure"}}{{/if}}</span>
{{#if modeLabel}}<span class="chat-pill">{{modeLabel}}</span>{{/if}} {{#if modeLabel}}<span class="chat-pill">{{modeLabel}}</span>{{/if}}
{{#if favorLabel}}<span class="chat-pill">Faveur {{favorLabel}}</span>{{/if}} {{#if favorLabel}}<span class="chat-pill">{{localize "DNC.Chat.Favor"}} {{favorLabel}}</span>{{/if}}
<span class="chat-pill">{{targetPillLabel}} {{targetPillValue}}</span> <span class="chat-pill">{{targetPillLabel}} {{targetPillValue}}</span>
<span class="chat-pill">Jet {{keptPillValue}}</span> <span class="chat-pill">{{localize "DNC.Chat.RollValue"}} {{keptPillValue}}</span>
</div> </div>
<div class="chat-keyline"> <div class="chat-keyline">
<span class="chat-keyline-label">Lancers</span> <span class="chat-keyline-label">{{localize "DNC.Chat.Rolls"}}</span>
<p class="roll-values">{{#each values}}<span>{{this}}</span>{{/each}}</p> <p class="roll-values">{{#each values}}<span>{{this}}</span>{{/each}}</p>
</div> </div>
{{#if autoDisadvantage}} {{#if autoDisadvantage}}
<p class="chat-note"> <p class="chat-note">
<strong>Desavantage automatique</strong> : <strong>{{localize "DNC.Chat.AutoDisadvantage"}}</strong> :
{{#if autoDisadvantageCanceled}} {{#if autoDisadvantageCanceled}}
le cout du sort depasse le rang du lanceur, mais une faveur l'a annule. {{localize "DNC.Chat.AutoDisadvantageCanceled"}}
{{else}} {{else}}
le cout du sort depasse le rang du lanceur. {{localize "DNC.Chat.AutoDisadvantageApplies"}}
{{/if}} {{/if}}
</p> </p>
{{/if}} {{/if}}
{{#if favorNote}} {{#if favorNote}}
<p class="chat-note"><strong>Faveur</strong> : {{favorNote}}</p> <p class="chat-note"><strong>{{localize "DNC.Chat.Favor"}}</strong> : {{favorNote}}</p>
{{/if}} {{/if}}
{{#if focusValue}} {{#if focusValue}}
<p class="chat-note"> <p class="chat-note">
<strong>Focus</strong> : {{focusValue}} depuis {{focusBeforeLabel}} <strong>{{localize "DNC.UI.Focus"}}</strong> : {{focusValue}} {{localize "DNC.Chat.FocusFrom"}} {{focusBeforeLabel}}
{{#if focusSpent}} · {{focusSpent}} utilise{{/if}} {{#if focusSpent}} · {{focusSpent}} {{localize "DNC.Chat.FocusUsed"}}{{/if}}
· {{focusRemaining}} restant · {{focusRemaining}} {{localize "DNC.Chat.FocusLeft"}}
{{#if focusDegraded}} · le focus descend a {{focusAfterLabel}}{{/if}} {{#if focusDegraded}} · {{localize "DNC.Chat.FocusDropsTo"}} {{focusAfterLabel}}{{/if}}
{{#if focusRolled}} · premier sort de la scene{{/if}} {{#if focusRolled}} · {{localize "DNC.Chat.FirstSpellScene"}}{{/if}}
</p> </p>
{{else}} {{else}}
{{#if focusRolled}} {{#if focusRolled}}
<p class="chat-note"><strong>Focus</strong> : aucun apport pour cette scene.</p> <p class="chat-note"><strong>{{localize "DNC.UI.Focus"}}</strong> : {{localize "DNC.Chat.FocusNoBenefit"}}</p>
{{/if}} {{/if}}
{{/if}} {{/if}}
<p class="chat-note"><strong>PV depenses</strong> : {{spentPv}} · <strong>PV restants</strong> : {{remainingPv}}</p> <p class="chat-note"><strong>{{localize "DNC.Chat.HpSpent"}}</strong> : {{spentPv}} · <strong>{{localize "DNC.Chat.HpRemaining"}}</strong> : {{remainingPv}}</p>
{{#if specialNote}} {{#if specialNote}}
<p class="chat-note warning">{{specialNote}}</p> <p class="chat-note warning">{{specialNote}}</p>
{{/if}} {{/if}}
{{#if showDamageButton}} {{#if showDamageButton}}
<div class="chat-actions"> <div class="chat-actions">
<button type="button" class="chat-action-button" data-action="rollChatDamage" data-item-uuid="{{itemUuid}}"> <button type="button" class="chat-action-button" data-action="rollChatDamage" data-item-uuid="{{itemUuid}}">
<i class="fa-solid fa-burst"></i> Lancer les degats <i class="fa-solid fa-burst"></i> {{localize "DNC.Chat.RollDamage"}}
</button> </button>
</div> </div>
{{/if}} {{/if}}
{{#if showChaosButton}} {{#if showChaosButton}}
<div class="chat-actions"> <div class="chat-actions">
<button type="button" class="chat-action-button" data-action="rollSpellChaos" data-actor-uuid="{{actorUuid}}" data-item-uuid="{{itemUuid}}"> <button type="button" class="chat-action-button" data-action="rollSpellChaos" data-actor-uuid="{{actorUuid}}" data-item-uuid="{{itemUuid}}">
<i class="fa-solid fa-dice-d20"></i> Risquer le Chaos <i class="fa-solid fa-dice-d20"></i> {{localize "DNC.Chat.RiskChaos"}}
</button> </button>
</div> </div>
{{/if}} {{/if}}

View File

@@ -1,7 +1,7 @@
<section class="dnc-chat-card dnc-chat-card-usage"> <section class="dnc-chat-card dnc-chat-card-usage">
<header class="chat-card-header"> <header class="chat-card-header">
<div class="chat-card-heading"> <div class="chat-card-heading">
<p class="chat-card-kicker">Usure</p> <p class="chat-card-kicker">{{localize "DNC.Chat.Kicker.Wear"}}</p>
<h2>{{title}}</h2> <h2>{{title}}</h2>
</div> </div>
<div class="chat-card-seal {{#if degraded}}failure{{else}}success{{/if}}"> <div class="chat-card-seal {{#if degraded}}failure{{else}}success{{/if}}">
@@ -10,17 +10,17 @@
</header> </header>
<div class="chat-pill-row"> <div class="chat-pill-row">
{{#if modeLabel}}<span class="chat-pill">{{modeLabel}}</span>{{/if}} {{#if modeLabel}}<span class="chat-pill">{{modeLabel}}</span>{{/if}}
<span class="chat-pill">Resultat {{value}}</span> <span class="chat-pill">{{localize "DNC.Chat.Result"}} {{value}}</span>
<span class="chat-pill">Avant {{before}}</span> <span class="chat-pill">{{localize "DNC.Chat.Before"}} {{before}}</span>
<span class="chat-pill">Apres {{after}}</span> <span class="chat-pill">{{localize "DNC.Chat.After"}} {{after}}</span>
</div> </div>
{{#if values.[1]}} {{#if values.[1]}}
<div class="chat-keyline"> <div class="chat-keyline">
<span class="chat-keyline-label">Lancers</span> <span class="chat-keyline-label">{{localize "DNC.Chat.Rolls"}}</span>
<p class="roll-values">{{#each values}}<span>{{this}}</span>{{/each}}</p> <p class="roll-values">{{#each values}}<span>{{this}}</span>{{/each}}</p>
</div> </div>
{{/if}} {{/if}}
{{#if protectionStored}}<p class="chat-note">Protection stockee pour ce combat : <strong>{{protectionStored}}</strong>.</p>{{/if}} {{#if protectionStored}}<p class="chat-note">{{localize "DNC.Chat.StoredProtection"}} : <strong>{{protectionStored}}</strong>.</p>{{/if}}
{{#if degraded}}<p class="chat-note">La ressource s'amenuise.</p>{{else}}<p class="chat-note">La ressource tient bon.</p>{{/if}} {{#if degraded}}<p class="chat-note">{{localize "DNC.Chat.ResourceWearsDown"}}</p>{{else}}<p class="chat-note">{{localize "DNC.Chat.ResourceStable"}}</p>{{/if}}
{{#if exhausted}}<p class="warning">La ressource est epuisee.</p>{{/if}} {{#if exhausted}}<p class="warning">{{localize "DNC.Chat.ResourceExhausted"}}</p>{{/if}}
</section> </section>

View File

@@ -1,18 +1,18 @@
<div class="dnc-dialog-form"> <div class="dnc-dialog-form">
<p><strong>{{actorName}}</strong> effectue un jet de <strong>{{characteristic.label}}</strong>.</p> <p><strong>{{actorName}}</strong> effectue un jet de <strong>{{characteristic.label}}</strong>.</p>
<label> <label>
<span>Mode</span> <span>{{localize "DNC.UI.Mode"}}</span>
<select name="mode"> <select name="mode">
<option value="normal">Normal</option> <option value="normal">{{localize "DNC.UI.ModeNormal"}}</option>
<option value="avantage">Avantage</option> <option value="avantage">{{localize "DNC.UI.ModeAdvantage"}}</option>
<option value="desavantage">Desavantage</option> <option value="desavantage">{{localize "DNC.UI.ModeDisadvantage"}}</option>
</select> </select>
</label> </label>
{{#if hasFavorOptions}} {{#if hasFavorOptions}}
<label> <label>
<span>Coup de pouce</span> <span>{{localize "DNC.UI.FavorBoost"}}</span>
<select name="favorDepartment"> <select name="favorDepartment">
<option value="">Aucune faveur</option> <option value="">{{localize "DNC.UI.NoFavor"}}</option>
{{selectOptions favorOptions selected="" labelAttr="label" valueAttr="value" localize=false}} {{selectOptions favorOptions selected="" labelAttr="label" valueAttr="value" localize=false}}
</select> </select>
</label> </label>

View File

@@ -1,12 +1,12 @@
<div class="dnc-dialog-form"> <div class="dnc-dialog-form">
<p><strong>{{item.name}}</strong> inflige <strong>{{item.system.degats}}</strong>.</p> <p><strong>{{item.name}}</strong> inflige <strong>{{item.system.degats}}</strong>.</p>
<p>Bonus de degats de l'acteur : <strong>{{actorBonus}}</strong></p> <p>{{localize "DNC.Dialog.ActorDamageBonus"}} : <strong>{{actorBonus}}</strong></p>
<label> <label>
<span>Mode</span> <span>{{localize "DNC.UI.Mode"}}</span>
<select name="mode"> <select name="mode">
<option value="normal">Normal</option> <option value="normal">{{localize "DNC.UI.ModeNormal"}}</option>
<option value="avantage">Avantage</option> <option value="avantage">{{localize "DNC.UI.ModeAdvantage"}}</option>
<option value="desavantage">Desavantage</option> <option value="desavantage">{{localize "DNC.UI.ModeDisadvantage"}}</option>
</select> </select>
</label> </label>
</div> </div>

View File

@@ -1,12 +1,12 @@
<div class="dnc-dialog-form"> <div class="dnc-dialog-form">
<p><strong>{{actorName}}</strong> lance l'initiative.</p> <p>{{localize "DNC.Dialog.InitiativeIntro" actorName=actorName}}</p>
<p>DEX actuelle : <strong>{{dex}}</strong>, bonus de fiche : <strong>{{initiativeBonus}}</strong></p> <p>{{localize "DNC.Dialog.InitiativeCurrent" dex=dex initiativeBonus=initiativeBonus}}</p>
<label> <label>
<span>Mode</span> <span>{{localize "DNC.UI.Mode"}}</span>
<select name="mode"> <select name="mode">
<option value="normal">Normal</option> <option value="normal">{{localize "DNC.UI.ModeNormal"}}</option>
<option value="avantage">Avantage</option> <option value="avantage">{{localize "DNC.UI.ModeAdvantage"}}</option>
<option value="desavantage">Desavantage</option> <option value="desavantage">{{localize "DNC.UI.ModeDisadvantage"}}</option>
</select> </select>
</label> </label>
</div> </div>

View File

@@ -1,47 +1,47 @@
<div class="dnc-dialog-form"> <div class="dnc-dialog-form">
<p><strong>{{actorName}}</strong> lance <strong>{{item.name}}</strong>.</p> <p><strong>{{actorName}}</strong> lance <strong>{{item.name}}</strong>.</p>
<label> <label>
<span>Caracteristique</span> <span>{{localize "DNC.UI.Characteristic"}}</span>
<input type="text" value="{{characteristic.label}} ({{characteristic.value}})" readonly> <input type="text" value="{{characteristic.label}} ({{characteristic.value}})" readonly>
</label> </label>
<label> <label>
<span>Cout</span> <span>{{localize "DNC.UI.Cost"}}</span>
<input type="text" value="{{item.system.coutPv}} PV" readonly> <input type="text" value="{{item.system.coutPv}} PV" readonly>
</label> </label>
<label> <label>
<span>PV actuels</span> <span>{{localize "DNC.UI.CurrentHp"}}</span>
<input type="text" value="{{currentPv}}" readonly> <input type="text" value="{{currentPv}}" readonly>
</label> </label>
<label> <label>
<span>Rang</span> <span>{{localize "DNC.UI.Rank"}}</span>
<input type="text" value="{{rank}}" readonly> <input type="text" value="{{rank}}" readonly>
</label> </label>
<label> <label>
<span>Focus</span> <span>{{localize "DNC.UI.Focus"}}</span>
<input type="text" value="{{#if focusIsActive}}{{focusDisplay}}{{else}}{{focusLabel}}{{/if}}" readonly> <input type="text" value="{{#if focusIsActive}}{{focusDisplay}}{{else}}{{focusLabel}}{{/if}}" readonly>
</label> </label>
<label> <label>
<span>Chaos</span> <span>{{localize "DNC.UI.Chaos"}}</span>
<input type="text" value="{{chaosLabel}}" readonly> <input type="text" value="{{chaosLabel}}" readonly>
</label> </label>
<label> <label>
<span>Mode</span> <span>{{localize "DNC.UI.Mode"}}</span>
<select name="mode"> <select name="mode">
<option value="normal">Normal</option> <option value="normal">{{localize "DNC.UI.ModeNormal"}}</option>
<option value="avantage">Avantage</option> <option value="avantage">{{localize "DNC.UI.ModeAdvantage"}}</option>
<option value="desavantage">Desavantage</option> <option value="desavantage">{{localize "DNC.UI.ModeDisadvantage"}}</option>
</select> </select>
</label> </label>
{{#if hasFavorOptions}} {{#if hasFavorOptions}}
<label> <label>
<span>Coup de pouce</span> <span>{{localize "DNC.UI.FavorBoost"}}</span>
<select name="favorDepartment"> <select name="favorDepartment">
<option value="">Aucune faveur</option> <option value="">{{localize "DNC.UI.NoFavor"}}</option>
{{selectOptions favorOptions selected="" labelAttr="label" valueAttr="value" localize=false}} {{selectOptions favorOptions selected="" labelAttr="label" valueAttr="value" localize=false}}
</select> </select>
</label> </label>
{{/if}} {{/if}}
{{#if autoDisadvantage}} {{#if autoDisadvantage}}
<p class="dialog-help warning">Le cout depasse le rang du lanceur : le jet se fera automatiquement avec desavantage.</p> <p class="dialog-help warning">{{localize "DNC.Dialog.SpellAutoDisadvantage"}}</p>
{{/if}} {{/if}}
</div> </div>

View File

@@ -1,12 +1,12 @@
<div class="dnc-dialog-form"> <div class="dnc-dialog-form">
<p>Utiliser <strong>{{item.name}}</strong> et lancer son de d'usage actuel.</p> <p>{{localize "DNC.Dialog.UseUsageDie" itemName=item.name}}</p>
<p>Valeur actuelle : <strong>Δ{{item.system.delta}}</strong></p> <p>{{localize "DNC.Dialog.CurrentValue"}} : <strong>Δ{{item.system.delta}}</strong></p>
<label> <label>
<span>Mode</span> <span>{{localize "DNC.UI.Mode"}}</span>
<select name="mode"> <select name="mode">
<option value="normal">Normal</option> <option value="normal">{{localize "DNC.UI.ModeNormal"}}</option>
<option value="avantage">Avantage</option> <option value="avantage">{{localize "DNC.UI.ModeAdvantage"}}</option>
<option value="desavantage">Desavantage</option> <option value="desavantage">{{localize "DNC.UI.ModeDisadvantage"}}</option>
</select> </select>
</label> </label>
</div> </div>

View File

@@ -1,19 +1,19 @@
<div class="dnc-dialog-form"> <div class="dnc-dialog-form">
<p><strong>{{actorName}}</strong> attaque avec <strong>{{item.name}}</strong>.</p> <p><strong>{{actorName}}</strong> attaque avec <strong>{{item.name}}</strong>.</p>
<p>Caracteristique utilisee : <strong>{{characteristicLabel}}</strong> (<strong>{{characteristicValue}}</strong>).</p> <p>{{localize "DNC.Dialog.CharacteristicUsed"}} : <strong>{{characteristicLabel}}</strong> (<strong>{{characteristicValue}}</strong>).</p>
<label> <label>
<span>Mode</span> <span>{{localize "DNC.UI.Mode"}}</span>
<select name="mode"> <select name="mode">
<option value="normal">Normal</option> <option value="normal">{{localize "DNC.UI.ModeNormal"}}</option>
<option value="avantage">Avantage</option> <option value="avantage">{{localize "DNC.UI.ModeAdvantage"}}</option>
<option value="desavantage">Desavantage</option> <option value="desavantage">{{localize "DNC.UI.ModeDisadvantage"}}</option>
</select> </select>
</label> </label>
{{#if hasFavorOptions}} {{#if hasFavorOptions}}
<label> <label>
<span>Coup de pouce</span> <span>{{localize "DNC.UI.FavorBoost"}}</span>
<select name="favorDepartment"> <select name="favorDepartment">
<option value="">Aucune faveur</option> <option value="">{{localize "DNC.UI.NoFavor"}}</option>
{{selectOptions favorOptions selected="" labelAttr="label" valueAttr="value" localize=false}} {{selectOptions favorOptions selected="" labelAttr="label" valueAttr="value" localize=false}}
</select> </select>
</label> </label>