Compare commits

..

17 Commits

Author SHA1 Message Date
e47ad95a38 Fix FR translatrion with babele 2026-02-18 00:08:07 +01:00
fc386487e8 Fix FR translatrion with babele 2026-02-17 23:38:06 +01:00
bda88c067e Release with specific message 2025-10-17 22:50:39 +02:00
4003e0e42b Release with specific message 2025-10-17 22:50:04 +02:00
a6d811bcda Sync message 2025-10-17 15:32:44 +02:00
94eb637637 Sync message 2025-10-17 15:32:22 +02:00
8c58367cdc Sync message 2025-10-17 15:31:53 +02:00
c439ca978c Update internal system with dynamic message 2025-10-17 15:17:04 +02:00
ffe1144f2a Update internal system with dynamic message 2025-10-17 15:16:00 +02:00
38ef07d17b Update internal system with dynamic message 2025-10-17 15:15:03 +02:00
a8cc2dce4b Update internal system with dynamic message 2025-10-17 15:14:29 +02:00
0fadd0783c Update internal system with dynamic message 2025-10-17 15:12:19 +02:00
a55a038d32 Update internal system with dynamic message 2025-10-17 15:01:42 +02:00
d012f78881 Update internal system with dynamic message 2025-10-17 14:59:37 +02:00
01e13da234 Correction sur application tokens acteurs 2025-10-17 00:33:24 +02:00
bc09b5050d Correction sur application tokens acteurs 2025-10-17 00:32:42 +02:00
d68001b376 Fix token/actor 2025-10-02 22:53:09 +02:00
39 changed files with 3107 additions and 2743 deletions

View File

@@ -63,7 +63,7 @@ export class EcrymeActorSheet extends foundry.appv1.sheets.ActorSheet {
} }
this.formData = formData; this.formData = formData;
console.log("PC : ", formData, this.object); //console.log("PC : ", formData, this.object);
return formData; return formData;
} }

View File

@@ -155,8 +155,8 @@ export class EcrymeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static getActorFromRollData(rollData) { static getActorFromRollData(rollData) {
let actor = game.actors.get(rollData.actorId) let actor = game.actors.get(rollData.actorId)
if (rollData.tokenId) { if (rollData.defenderTokenId) {
let token = canvas.tokens.placeables.find(t => t.id == rollData.tokenId) let token = canvas.tokens.placeables.find(t => t.id == rollData.defenderTokenId)
if (token) { if (token) {
actor = token.actor actor = token.actor
} }
@@ -298,7 +298,7 @@ export class EcrymeUtility {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let rollData = message.getFlag("world", "ecryme-rolldata") let rollData = message.getFlag("world", "ecryme-rolldata")
ui.notifications.info( game.i18n.localize("ECRY.chat.confrontselect")) ui.notifications.info(game.i18n.localize("ECRY.chat.confrontselect"))
EcrymeUtility.manageConfrontation(rollData) EcrymeUtility.manageConfrontation(rollData)
}) })
$(html).on("click", '.button-apply-cephaly-difficulty', event => { $(html).on("click", '.button-apply-cephaly-difficulty', event => {
@@ -311,7 +311,15 @@ export class EcrymeUtility {
$(html).on("click", '.button-apply-impact', event => { $(html).on("click", '.button-apply-impact', event => {
let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) let messageId = EcrymeUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId) let message = game.messages.get(messageId)
let actor = game.actors.get($(event.currentTarget).data("actor-id")) let tokenId = $(event.currentTarget).data("token-id")
let actor
if (!tokenId) {
actorId = $(event.currentTarget).data("actor-id")
actor = game.actors.get(actorId)
} else {
let token = canvas.tokens.placeables.find(t => t.id == tokenId)
actor = token?.actor
}
actor.modifyImpact($(event.currentTarget).data("impact-type"), $(event.currentTarget).data("impact"), 1) actor.modifyImpact($(event.currentTarget).data("impact-type"), $(event.currentTarget).data("impact"), 1)
}) })
$(html).on("click", '.button-apply-bonus', event => { $(html).on("click", '.button-apply-bonus', event => {
@@ -411,7 +419,7 @@ export class EcrymeUtility {
console.log("SOCKET MESSAGE", msg) console.log("SOCKET MESSAGE", msg)
if (msg.name == "msg_gm_chat_message") { if (msg.name == "msg_gm_chat_message") {
let rollData = msg.data.rollData let rollData = msg.data.rollData
if ( game.user.isGM ) { if (game.user.isGM) {
let chatMsg = await this.createChatMessage(rollData.alias, "blindroll", { let chatMsg = await this.createChatMessage(rollData.alias, "blindroll", {
content: await renderTemplate(msg.data.template, rollData), content: await renderTemplate(msg.data.template, rollData),
whisper: game.user.id whisper: game.user.id
@@ -715,11 +723,11 @@ export class EcrymeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async confirmDelete(actorSheet, li) { static async confirmDelete(actorSheet, li) {
let itemId = li.data("item-id"); let itemId = li.data("item-id");
let msgTxt = "<p>Are you sure to remove this Item ?"; let msgTxt = "<p>Etes vous certain de souhaiter envoyer cet item dans les limbes ?";
let buttons = { let buttons = {
delete: { delete: {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
label: "Yes, remove it", label: "Oui, retirez-le",
callback: () => { callback: () => {
actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]); actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]);
li.slideUp(200, () => actorSheet.render(false)); li.slideUp(200, () => actorSheet.render(false));
@@ -727,7 +735,7 @@ export class EcrymeUtility {
}, },
cancel: { cancel: {
icon: '<i class="fas fa-times"></i>', icon: '<i class="fas fa-times"></i>',
label: "Cancel" label: "Annuler"
} }
} }
msgTxt += "</p>"; msgTxt += "</p>";

View File

@@ -1,11 +1,14 @@
import { EcrymeUtility } from "../common/ecryme-utility.js"; import { EcrymeUtility } from "../common/ecryme-utility.js";
import {EcrymeConfrontDialog } from "./ecryme-confront-dialog.js"; import { EcrymeConfrontDialog } from "./ecryme-confront-dialog.js";
export class EcrymeConfrontStartDialog extends Dialog { export class EcrymeConfrontStartDialog extends Dialog {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async create(actor, rollData) { static async create(actor, rollData) {
if (!actor) throw new Error("Ecryme | No actor provided for confront dialog");
if (!rollData) throw new Error("Ecryme | No roll data provided for confront dialog");
if (actor?.token) rollData.tokenId = actor.token.id;
let options = { classes: ["fvtt-ecryme ecryme-confront-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 } let options = { classes: ["fvtt-ecryme ecryme-confront-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 }
let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-start-dialog.hbs', rollData); let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-start-dialog.hbs', rollData);
return new EcrymeConfrontStartDialog(actor, rollData, html, options); return new EcrymeConfrontStartDialog(actor, rollData, html, options);
@@ -43,12 +46,12 @@ export class EcrymeConfrontStartDialog extends Dialog {
super(conf, options); super(conf, options);
this.actor = actor; this.actor = actor?.token?.actor || actor;
this.rollData = rollData; this.rollData = rollData;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollConfront( diceFormula ) { async rollConfront(diceFormula) {
// Do the initial roll // Do the initial roll
let myRoll = await new Roll(diceFormula).roll() let myRoll = await new Roll(diceFormula).roll()
await EcrymeUtility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await EcrymeUtility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
@@ -57,7 +60,7 @@ export class EcrymeConfrontStartDialog extends Dialog {
rollData.roll = foundry.utils.duplicate(myRoll) rollData.roll = foundry.utils.duplicate(myRoll)
rollData.availableDices = [] rollData.availableDices = []
for (let result of myRoll.terms[0].results) { for (let result of myRoll.terms[0].results) {
if ( !result.discarded) { if (!result.discarded) {
let resultDup = foundry.utils.duplicate(result) let resultDup = foundry.utils.duplicate(result)
resultDup.location = "mainpool" resultDup.location = "mainpool"
rollData.availableDices.push(resultDup) rollData.availableDices.push(resultDup)

View File

@@ -5,6 +5,7 @@
*/ */
/* -------------------------------------------- */ /* -------------------------------------------- */
const ECRYME_WELCOME_MESSAGE_URL = "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/welcome-message-ecryme.html"
/* -------------------------------------------- */ /* -------------------------------------------- */
// Import Modules // Import Modules
@@ -72,11 +73,25 @@ Hooks.once("init", async function () {
/* -------------------------------------------- */ /* -------------------------------------------- */
function welcomeMessage() { function welcomeMessage() {
if (game.user.isGM) { if (game.user.isGM) {
// Try to fetch the welcome message from the github repo "welcome-message-ecryme.html"
fetch(ECRYME_WELCOME_MESSAGE_URL)
.then(response => response.text())
.then(html => {
//console.log("Fetched welcome message:", html);
ChatMessage.create({ ChatMessage.create({
user: game.user.id, user: game.user.id,
whisper: [game.user.id], whisper: [game.user.id],
content: `<div id="welcome-message-ecryme"><span class="rdd-roll-part"> content: html
<strong>Bienvenu dans Ecryme !</strong>` }); });
})
.catch(error => {
console.error("Error fetching welcome message:", error);
ChatMessage.create({
user: game.user.id,
whisper: [game.user.id],
content: "<b>Bienvenue dans Ecryme RPG !</b><br>Visitez le site officiel pour plus d'informations."
});
});
} }
} }
@@ -118,11 +133,13 @@ Hooks.once("ready", function () {
EcrymeCharacterSummary.ready(); EcrymeCharacterSummary.ready();
importDefaultScene(); importDefaultScene();
// Load translations
Babele.get().setSystemTranslationsDir("translated")
}) })
/* -------------------------------------------- */
Hooks.once('babele.init', (babele) => {
babele.setSystemTranslationsDir("translated");
});
/* -------------------------------------------- */ /* -------------------------------------------- */
/* Foundry VTT Initialization */ /* Foundry VTT Initialization */

View File

@@ -1 +1 @@
MANIFEST-000205 MANIFEST-000257

View File

@@ -1,7 +1,7 @@
2025/05/01-23:23:34.950257 7f11177fe6c0 Recovering log #203 2026/02/17-22:52:51.783329 7f1e223fe6c0 Recovering log #255
2025/05/01-23:23:34.960390 7f11177fe6c0 Delete type=3 #201 2026/02/17-22:52:51.793345 7f1e223fe6c0 Delete type=3 #253
2025/05/01-23:23:34.960497 7f11177fe6c0 Delete type=0 #203 2026/02/17-22:52:51.793403 7f1e223fe6c0 Delete type=0 #255
2025/05/01-23:27:45.498796 7f11153ff6c0 Level-0 table #208: started 2026/02/18-00:07:51.604423 7f1e20bfb6c0 Level-0 table #260: started
2025/05/01-23:27:45.498850 7f11153ff6c0 Level-0 table #208: 0 bytes OK 2026/02/18-00:07:51.604449 7f1e20bfb6c0 Level-0 table #260: 0 bytes OK
2025/05/01-23:27:45.505411 7f11153ff6c0 Delete type=0 #206 2026/02/18-00:07:51.610566 7f1e20bfb6c0 Delete type=0 #258
2025/05/01-23:27:45.518830 7f11153ff6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end) 2026/02/18-00:07:51.628854 7f1e20bfb6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2025/05/01-23:18:27.056956 7f1115ffb6c0 Recovering log #199 2026/02/17-22:32:54.354370 7f1e213fc6c0 Recovering log #251
2025/05/01-23:18:27.067437 7f1115ffb6c0 Delete type=3 #197 2026/02/17-22:32:54.365341 7f1e213fc6c0 Delete type=3 #249
2025/05/01-23:18:27.067539 7f1115ffb6c0 Delete type=0 #199 2026/02/17-22:32:54.365467 7f1e213fc6c0 Delete type=0 #251
2025/05/01-23:23:12.722068 7f11153ff6c0 Level-0 table #204: started 2026/02/17-22:51:18.237998 7f1e20bfb6c0 Level-0 table #256: started
2025/05/01-23:23:12.722089 7f11153ff6c0 Level-0 table #204: 0 bytes OK 2026/02/17-22:51:18.238020 7f1e20bfb6c0 Level-0 table #256: 0 bytes OK
2025/05/01-23:23:12.728871 7f11153ff6c0 Delete type=0 #202 2026/02/17-22:51:18.244001 7f1e20bfb6c0 Delete type=0 #254
2025/05/01-23:23:12.744842 7f11153ff6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end) 2026/02/17-22:51:18.250338 7f1e20bfb6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000142 MANIFEST-000194

View File

@@ -1,8 +1,8 @@
2025/05/01-23:23:35.002627 7f1116ffd6c0 Recovering log #140 2026/02/17-22:52:51.836522 7f1e213fc6c0 Recovering log #192
2025/05/01-23:23:35.013325 7f1116ffd6c0 Delete type=3 #138 2026/02/17-22:52:51.846119 7f1e213fc6c0 Delete type=3 #190
2025/05/01-23:23:35.013430 7f1116ffd6c0 Delete type=0 #140 2026/02/17-22:52:51.846206 7f1e213fc6c0 Delete type=0 #192
2025/05/01-23:27:45.532648 7f11153ff6c0 Level-0 table #145: started 2026/02/18-00:07:51.788872 7f1e20bfb6c0 Level-0 table #197: started
2025/05/01-23:27:45.532688 7f11153ff6c0 Level-0 table #145: 0 bytes OK 2026/02/18-00:07:51.788909 7f1e20bfb6c0 Level-0 table #197: 0 bytes OK
2025/05/01-23:27:45.540035 7f11153ff6c0 Delete type=0 #143 2026/02/18-00:07:51.795266 7f1e20bfb6c0 Delete type=0 #195
2025/05/01-23:27:45.546611 7f11153ff6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2026/02/18-00:07:51.802266 7f1e20bfb6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2025/05/01-23:27:45.546647 7f11153ff6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2026/02/18-00:07:51.802303 7f1e20bfb6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/05/01-23:18:27.111839 7f1116ffd6c0 Recovering log #136 2026/02/17-22:32:54.423305 7f1e21bfd6c0 Recovering log #188
2025/05/01-23:18:27.122280 7f1116ffd6c0 Delete type=3 #134 2026/02/17-22:32:54.435381 7f1e21bfd6c0 Delete type=3 #186
2025/05/01-23:18:27.122337 7f1116ffd6c0 Delete type=0 #136 2026/02/17-22:32:54.435516 7f1e21bfd6c0 Delete type=0 #188
2025/05/01-23:23:12.768196 7f11153ff6c0 Level-0 table #141: started 2026/02/17-22:51:18.269462 7f1e20bfb6c0 Level-0 table #193: started
2025/05/01-23:23:12.768227 7f11153ff6c0 Level-0 table #141: 0 bytes OK 2026/02/17-22:51:18.269511 7f1e20bfb6c0 Level-0 table #193: 0 bytes OK
2025/05/01-23:23:12.774547 7f11153ff6c0 Delete type=0 #139 2026/02/17-22:51:18.276022 7f1e20bfb6c0 Delete type=0 #191
2025/05/01-23:23:12.774689 7f11153ff6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2026/02/17-22:51:18.276202 7f1e20bfb6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2025/05/01-23:23:12.774707 7f11153ff6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2026/02/17-22:51:18.276226 7f1e20bfb6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000205 MANIFEST-000257

View File

@@ -1,7 +1,7 @@
2025/05/01-23:23:34.989243 7f11177fe6c0 Recovering log #203 2026/02/17-22:52:51.822834 7f1e213fc6c0 Recovering log #255
2025/05/01-23:23:34.999290 7f11177fe6c0 Delete type=3 #201 2026/02/17-22:52:51.833307 7f1e213fc6c0 Delete type=3 #253
2025/05/01-23:23:34.999338 7f11177fe6c0 Delete type=0 #203 2026/02/17-22:52:51.833365 7f1e213fc6c0 Delete type=0 #255
2025/05/01-23:27:45.505528 7f11153ff6c0 Level-0 table #208: started 2026/02/18-00:07:51.795405 7f1e20bfb6c0 Level-0 table #260: started
2025/05/01-23:27:45.505551 7f11153ff6c0 Level-0 table #208: 0 bytes OK 2026/02/18-00:07:51.795433 7f1e20bfb6c0 Level-0 table #260: 0 bytes OK
2025/05/01-23:27:45.512071 7f11153ff6c0 Delete type=0 #206 2026/02/18-00:07:51.802173 7f1e20bfb6c0 Delete type=0 #258
2025/05/01-23:27:45.518845 7f11153ff6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end) 2026/02/18-00:07:51.802295 7f1e20bfb6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2025/05/01-23:18:27.099266 7f1115ffb6c0 Recovering log #199 2026/02/17-22:32:54.407677 7f1e223fe6c0 Recovering log #251
2025/05/01-23:18:27.109501 7f1115ffb6c0 Delete type=3 #197 2026/02/17-22:32:54.418634 7f1e223fe6c0 Delete type=3 #249
2025/05/01-23:18:27.109566 7f1115ffb6c0 Delete type=0 #199 2026/02/17-22:32:54.418777 7f1e223fe6c0 Delete type=0 #251
2025/05/01-23:23:12.745080 7f11153ff6c0 Level-0 table #204: started 2026/02/17-22:51:18.232103 7f1e20bfb6c0 Level-0 table #256: started
2025/05/01-23:23:12.745126 7f11153ff6c0 Level-0 table #204: 0 bytes OK 2026/02/17-22:51:18.232142 7f1e20bfb6c0 Level-0 table #256: 0 bytes OK
2025/05/01-23:23:12.751818 7f11153ff6c0 Delete type=0 #202 2026/02/17-22:51:18.237935 7f1e20bfb6c0 Delete type=0 #254
2025/05/01-23:23:12.774663 7f11153ff6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end) 2026/02/17-22:51:18.250322 7f1e20bfb6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000091 MANIFEST-000143

View File

@@ -1,8 +1,8 @@
2025/05/01-23:23:34.977246 7f1116ffd6c0 Recovering log #88 2026/02/17-22:52:51.809397 7f1e22bff6c0 Recovering log #141
2025/05/01-23:23:34.986582 7f1116ffd6c0 Delete type=3 #86 2026/02/17-22:52:51.819324 7f1e22bff6c0 Delete type=3 #139
2025/05/01-23:23:34.986642 7f1116ffd6c0 Delete type=0 #88 2026/02/17-22:52:51.819396 7f1e22bff6c0 Delete type=0 #141
2025/05/01-23:27:45.512228 7f11153ff6c0 Level-0 table #94: started 2026/02/18-00:07:51.772211 7f1e20bfb6c0 Level-0 table #146: started
2025/05/01-23:27:45.512262 7f11153ff6c0 Level-0 table #94: 0 bytes OK 2026/02/18-00:07:51.772244 7f1e20bfb6c0 Level-0 table #146: 0 bytes OK
2025/05/01-23:27:45.518665 7f11153ff6c0 Delete type=0 #92 2026/02/18-00:07:51.778644 7f1e20bfb6c0 Delete type=0 #144
2025/05/01-23:27:45.518856 7f11153ff6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end) 2026/02/18-00:07:51.788854 7f1e20bfb6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2025/05/01-23:27:45.518892 7f11153ff6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end) 2026/02/18-00:07:51.795394 7f1e20bfb6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)

View File

@@ -1,15 +1,8 @@
2025/05/01-23:18:27.084819 7f1116ffd6c0 Recovering log #82 2026/02/17-22:32:54.389501 7f1e21bfd6c0 Recovering log #137
2025/05/01-23:18:27.095491 7f1116ffd6c0 Delete type=3 #80 2026/02/17-22:32:54.400905 7f1e21bfd6c0 Delete type=3 #135
2025/05/01-23:18:27.095539 7f1116ffd6c0 Delete type=0 #82 2026/02/17-22:32:54.401049 7f1e21bfd6c0 Delete type=0 #137
2025/05/01-23:23:12.735355 7f11153ff6c0 Level-0 table #89: started 2026/02/17-22:51:18.250480 7f1e20bfb6c0 Level-0 table #142: started
2025/05/01-23:23:12.738432 7f11153ff6c0 Level-0 table #89: 1551 bytes OK 2026/02/17-22:51:18.250515 7f1e20bfb6c0 Level-0 table #142: 0 bytes OK
2025/05/01-23:23:12.744606 7f11153ff6c0 Delete type=0 #87 2026/02/17-22:51:18.256672 7f1e20bfb6c0 Delete type=0 #140
2025/05/01-23:23:12.744906 7f11153ff6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end) 2026/02/17-22:51:18.276163 7f1e20bfb6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2025/05/01-23:23:12.751899 7f11153ff6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at '!scenes!zvY1RwBhTfwdZIBa' @ 18 : 1 2026/02/17-22:51:18.276211 7f1e20bfb6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2025/05/01-23:23:12.751905 7f11153ff6c0 Compacting 1@1 + 1@2 files
2025/05/01-23:23:12.755259 7f11153ff6c0 Generated table #90@1: 2 keys, 1586 bytes
2025/05/01-23:23:12.755289 7f11153ff6c0 Compacted 1@1 + 1@2 files => 1586 bytes
2025/05/01-23:23:12.761436 7f11153ff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/05/01-23:23:12.761603 7f11153ff6c0 Delete type=2 #85
2025/05/01-23:23:12.761813 7f11153ff6c0 Delete type=2 #89
2025/05/01-23:23:12.774673 7f11153ff6c0 Manual compaction at level-1 from '!scenes!zvY1RwBhTfwdZIBa' @ 18 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000205 MANIFEST-000257

View File

@@ -1,7 +1,7 @@
2025/05/01-23:23:34.938221 7f1116ffd6c0 Recovering log #203 2026/02/17-22:52:51.771179 7f1e22bff6c0 Recovering log #255
2025/05/01-23:23:34.947805 7f1116ffd6c0 Delete type=3 #201 2026/02/17-22:52:51.780607 7f1e22bff6c0 Delete type=3 #253
2025/05/01-23:23:34.947853 7f1116ffd6c0 Delete type=0 #203 2026/02/17-22:52:51.780660 7f1e22bff6c0 Delete type=0 #255
2025/05/01-23:27:45.491261 7f11153ff6c0 Level-0 table #208: started 2026/02/18-00:07:51.597957 7f1e20bfb6c0 Level-0 table #260: started
2025/05/01-23:27:45.491305 7f11153ff6c0 Level-0 table #208: 0 bytes OK 2026/02/18-00:07:51.597996 7f1e20bfb6c0 Level-0 table #260: 0 bytes OK
2025/05/01-23:27:45.498558 7f11153ff6c0 Delete type=0 #206 2026/02/18-00:07:51.604332 7f1e20bfb6c0 Delete type=0 #258
2025/05/01-23:27:45.518813 7f11153ff6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end) 2026/02/18-00:07:51.628842 7f1e20bfb6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2025/05/01-23:18:27.043700 7f11167fc6c0 Recovering log #199 2026/02/17-22:32:54.337335 7f1e21bfd6c0 Recovering log #251
2025/05/01-23:18:27.054373 7f11167fc6c0 Delete type=3 #197 2026/02/17-22:32:54.348929 7f1e21bfd6c0 Delete type=3 #249
2025/05/01-23:18:27.054431 7f11167fc6c0 Delete type=0 #199 2026/02/17-22:32:54.349060 7f1e21bfd6c0 Delete type=0 #251
2025/05/01-23:23:12.728954 7f11153ff6c0 Level-0 table #204: started 2026/02/17-22:51:18.224981 7f1e20bfb6c0 Level-0 table #256: started
2025/05/01-23:23:12.728976 7f11153ff6c0 Level-0 table #204: 0 bytes OK 2026/02/17-22:51:18.225046 7f1e20bfb6c0 Level-0 table #256: 0 bytes OK
2025/05/01-23:23:12.735241 7f11153ff6c0 Delete type=0 #202 2026/02/17-22:51:18.231994 7f1e20bfb6c0 Delete type=0 #254
2025/05/01-23:23:12.744865 7f11153ff6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end) 2026/02/17-22:51:18.250311 7f1e20bfb6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000205 MANIFEST-000257

View File

@@ -1,7 +1,7 @@
2025/05/01-23:23:34.963229 7f1115ffb6c0 Recovering log #203 2026/02/17-22:52:51.796322 7f1e213fc6c0 Recovering log #255
2025/05/01-23:23:34.973922 7f1115ffb6c0 Delete type=3 #201 2026/02/17-22:52:51.806414 7f1e213fc6c0 Delete type=3 #253
2025/05/01-23:23:34.974025 7f1115ffb6c0 Delete type=0 #203 2026/02/17-22:52:51.806525 7f1e213fc6c0 Delete type=0 #255
2025/05/01-23:27:45.518950 7f11153ff6c0 Level-0 table #208: started 2026/02/18-00:07:51.654710 7f1e20bfb6c0 Level-0 table #260: started
2025/05/01-23:27:45.518982 7f11153ff6c0 Level-0 table #208: 0 bytes OK 2026/02/18-00:07:51.654742 7f1e20bfb6c0 Level-0 table #260: 0 bytes OK
2025/05/01-23:27:45.525989 7f11153ff6c0 Delete type=0 #206 2026/02/18-00:07:51.660623 7f1e20bfb6c0 Delete type=0 #258
2025/05/01-23:27:45.546586 7f11153ff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end) 2026/02/18-00:07:51.660919 7f1e20bfb6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2025/05/01-23:18:27.070994 7f11167fc6c0 Recovering log #199 2026/02/17-22:32:54.371182 7f1e223fe6c0 Recovering log #251
2025/05/01-23:18:27.081264 7f11167fc6c0 Delete type=3 #197 2026/02/17-22:32:54.383451 7f1e223fe6c0 Delete type=3 #249
2025/05/01-23:18:27.081417 7f11167fc6c0 Delete type=0 #199 2026/02/17-22:32:54.383616 7f1e223fe6c0 Delete type=0 #251
2025/05/01-23:23:12.715522 7f11153ff6c0 Level-0 table #204: started 2026/02/17-22:51:18.244080 7f1e20bfb6c0 Level-0 table #256: started
2025/05/01-23:23:12.715566 7f11153ff6c0 Level-0 table #204: 0 bytes OK 2026/02/17-22:51:18.244107 7f1e20bfb6c0 Level-0 table #256: 0 bytes OK
2025/05/01-23:23:12.721964 7f11153ff6c0 Delete type=0 #202 2026/02/17-22:51:18.250200 7f1e20bfb6c0 Delete type=0 #254
2025/05/01-23:23:12.744818 7f11153ff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end) 2026/02/17-22:51:18.250352 7f1e20bfb6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -125,7 +125,7 @@
}, },
"title": "Ecryme, le Jeu de Rôles", "title": "Ecryme, le Jeu de Rôles",
"url": "https://www.uberwald.me/gitea/public/fvtt-ecryme", "url": "https://www.uberwald.me/gitea/public/fvtt-ecryme",
"version": "13.0.0", "version": "13.0.4",
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v13.0.0.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v13.0.4.zip",
"background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp" "background": "systems/fvtt-ecryme/images/assets/ecryme_extract_panel_01.webp"
} }

View File

@@ -15,7 +15,7 @@
<div> <div>
<ul> <ul>
<li>Confrontation : {{rollData1.alias}} vs {{rollData2.alias}}</li> <li><strong>Confrontation</strong> : {{rollData1.alias}} vs {{rollData2.alias}}</li>
<li>{{localize rollData1.skill.name}} ({{rollData1.skill.value}}) vs {{localize rollData2.skill.name}} ({{rollData2.skill.value}}) </li> <li>{{localize rollData1.skill.name}} ({{rollData1.skill.value}}) vs {{localize rollData2.skill.name}} ({{rollData2.skill.value}}) </li>
<li>{{rollData1.executionTotal}} vs {{rollData2.preservationTotal}} : {{marginExecution}}</li> <li>{{rollData1.executionTotal}} vs {{rollData2.preservationTotal}} : {{marginExecution}}</li>
<li>{{rollData1.preservationTotal}} vs {{rollData2.executionTotal}} : {{marginPreservation}}</li> <li>{{rollData1.preservationTotal}} vs {{rollData2.executionTotal}} : {{marginPreservation}}</li>
@@ -32,21 +32,21 @@
<li>{{localize "ECRY.ui.effect"}} {{localize "ECRY.ui.execution"}} : {{effectExecution}}</li> <li>{{localize "ECRY.ui.effect"}} {{localize "ECRY.ui.execution"}} : {{effectExecution}}</li>
{{#if impactExecution}} {{#if impactExecution}}
<li>Impact {{rollData2.alias}} : 1 {{localize (concat "ECRY.ui." impactExecution)}}</li> <li>Impact {{rollData2.alias}} : 1 {{localize (concat "ECRY.ui." impactExecution)}}</li>
<button class="button-apply-impact" data-actor-id="{{rollData2.actorId}}" data-impact-type={{rollData1.skill.categKey}} data-impact="{{impactExecution}}">{{localize "ECRY.ui.applyimpact"}}</button> <button class="button-apply-impact" data-token-id="{{rollData2.tokenId}}" data-actor-id="{{rollData2.actorId}}" data-impact-type={{rollData1.skill.categKey}} data-impact="{{impactExecution}}">{{localize "ECRY.ui.applyimpact"}}</button>
{{/if}} {{/if}}
{{#if bonus2}} {{#if bonus2}}
<li>Bonus {{rollData2.alias}} : {{bonus2}}</li> <li>Bonus {{rollData2.alias}} : {{bonus2}}</li>
<button class="button-apply-bonus" data-actor-id="{{rollData2.actorId}}" data-bonus="{{bonus2}}">{{localize "ECRY.ui.applybonus"}}</button> <button class="button-apply-bonus" data-token-id="{{rollData2.tokenId}}" data-actor-id="{{rollData2.actorId}}" data-bonus="{{bonus2}}">{{localize "ECRY.ui.applybonus"}}</button>
{{/if}} {{/if}}
<li>{{localize "ECRY.ui.effect"}} {{localize "ECRY.ui.preservation"}} : {{effectPreservation}}</li> <li>{{localize "ECRY.ui.effect"}} {{localize "ECRY.ui.preservation"}} : {{effectPreservation}}</li>
{{#if impactPreservation}} {{#if impactPreservation}}
<li>Impact {{rollData1.alias}} : 1 {{localize (concat "ECRY.ui." impactPreservation)}}</li> <li>Impact {{rollData1.alias}} : 1 {{localize (concat "ECRY.ui." impactPreservation)}}</li>
<button class="button-apply-impact" data-actor-id="{{rollData1.actorId}}" data-impact-type={{rollData1.skill.categKey}} data-impact="{{impactPreservation}}">{{localize "ECRY.ui.applyimpact"}}</button> <button class="button-apply-impact" data-token-id="{{rollData1.tokenId}}" data-actor-id="{{rollData1.actorId}}" data-impact-type={{rollData1.skill.categKey}} data-impact="{{impactPreservation}}">{{localize "ECRY.ui.applyimpact"}}</button>
{{/if}} {{/if}}
{{#if bonus1}} {{#if bonus1}}
<li>Bonus {{rollData1.alias}} : {{bonus1}}</li> <li>Bonus {{rollData1.alias}} : {{bonus1}}</li>
<button class="button-apply-bonus" data-actor-id="{{rollData1.actorId}}" data-bonus="{{bonus1}}">{{localize "ECRY.ui.applybonus"}}</button> <button class="button-apply-bonus" data-token-id="{{rollData1.tokenId}}" data-actor-id="{{rollData1.actorId}}" data-bonus="{{bonus1}}">{{localize "ECRY.ui.applybonus"}}</button>
{{/if}} {{/if}}
</ul> </ul>
</div> </div>

View File

@@ -0,0 +1,42 @@
<h3 class="welcome-message-h3">Bonjour à tous !</h3>
<div class="message-chat-center">
👋 Juste un petit message pour vous informer que :
<br />
<strong
>⚠️ Le nouveau financement participatif pour la prochaine extension
d'Écryme, LES SECRETS DE L'ÉCRYME ouvre le 21 octobre !</strong
>
</div>
<div class="message-chat-center">
⚠️ Suivez la page de pré-lancement ici pour être sûr de ne pas manquer le
lancement : <br /><a href="https://shorturl.at/qDjg7"
>https://shorturl.at/qDjg7</a
>
</div>
<div class="message-chat-center">
Nous avons aussi un nouveau Discord pour ceux ou celles qui souhaiteraient
participer plus activement à la communauté des jeux d'Open Sesame Games, avec
un espace dédié aux écrymiens ! <br />
Nouveaux joueurs comme vétérans sont les bienvenus, n'hésitez pas à passer
pour papoter, profiter de nos ressources, ou suivre les nouvelles d'OSG plus
directement. Cliquez ici :<br />
<a href="https://discord.gg/dUPhNfJdaD">https://discord.gg/dUPhNfJdaD</a
><br />
</div>
<div class="message-chat-center">
Ce système vous est proposé par Open Sesame Games.<br />
Vous trouverez de l'aide dans
@UUID[Compendium.fvtt-ecryme.help.JournalEntry.wooTFYjEwh83FwgT]{Aide pour
Ecryme}<br />
ainsi que sur le Discord de Foundry FR :<br>
<a href="https://discord.gg/pPSDNJk">https://discord.gg/pPSDNJk</a>
</div>
</div>
Merci pour votre attention et à très bientôt pour la suite ! L'équipe Open
Sesame Games
</div>