Compare commits

..

8 Commits

60 changed files with 226 additions and 199 deletions

View File

@@ -6,7 +6,7 @@
import { EcrymeUtility } from "../common/ecryme-utility.js"; import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class EcrymeActorSheet extends ActorSheet { export class EcrymeActorSheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -53,9 +53,9 @@ export class EcrymeActorSheet extends ActorSheet {
cephalySkills: this.actor.getCephalySkills(), cephalySkills: this.actor.getCephalySkills(),
subActors: foundry.utils.duplicate(this.actor.getSubActors()), subActors: foundry.utils.duplicate(this.actor.getSubActors()),
annency: this.actor.getAnnency(), annency: this.actor.getAnnency(),
description: await TextEditor.enrichHTML(this.object.system.biodata.description, { async: true }), description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, { async: true }),
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, { async: true }), notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.notes, { async: true }),
equipementlibre: await TextEditor.enrichHTML(this.object.system.equipmentfree, { async: true }), equipementlibre: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.equipmentfree, { async: true }),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,
@@ -63,7 +63,7 @@ export class EcrymeActorSheet extends 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

@@ -6,7 +6,7 @@
import { EcrymeUtility } from "../common/ecryme-utility.js"; import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class EcrymeAnnencySheet extends ActorSheet { export class EcrymeAnnencySheet extends foundry.appv1.sheets.ActorSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {

View File

@@ -36,7 +36,7 @@ export class EcrymeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async init() { static async init() {
Hooks.on('renderChatLog', (log, html, data) => EcrymeUtility.chatListeners(html)); Hooks.on('renderChatLog', (log, html, data) => EcrymeUtility.chatListeners(html));
Hooks.on("getChatLogEntryContext", (html, options) => EcrymeUtility.chatMenuManager(html, options)); Hooks.on("getChatMessageContextOptions", (html, options) => EcrymeUtility.chatMenuManager(html, options));
this.rollDataStore = {} this.rollDataStore = {}
this.defenderStore = {} this.defenderStore = {}
@@ -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
} }
@@ -273,20 +273,17 @@ export class EcrymeUtility {
let canTranscendRoll = [] let canTranscendRoll = []
for (let i = 1; i <= 10; i++) { for (let i = 1; i <= 10; i++) {
canTranscendRoll[i] = function (li) { canTranscendRoll[i] = function (li) {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "rolldata") let rollData = message.getFlag("world", "rolldata")
//console.log(">>>>>>>>>>>>>>>>>>>>>>>>>> Menu !!!!", rollData) //console.log(">>>>>>>>>>>>>>>>>>>>>>>>>> Menu !!!!", rollData)
if (rollData.skill && rollData.skill.value >= i && !rollData.transcendUsed && rollData.spec) { return (rollData?.skill?.value >= i && !rollData.transcendUsed && rollData.spec)
return true
}
return false
} }
options.push({ options.push({
name: game.i18n.localize("ECRY.chat.spectranscend") + i, name: game.i18n.localize("ECRY.chat.spectranscend") + i,
icon: '<i class="fas fa-plus-square"></i>', icon: '<i class="fas fa-plus-square"></i>',
condition: canTranscendRoll[i], condition: canTranscendRoll[i],
callback: li => { callback: li => {
let message = game.messages.get(li.attr("data-message-id")) let message = game.messages.get($(li).attr("data-message-id"))
let rollData = message.getFlag("world", "rolldata") let rollData = message.getFlag("world", "rolldata")
EcrymeUtility.transcendFromSpec(rollData, i).catch("Error on Transcend") EcrymeUtility.transcendFromSpec(rollData, i).catch("Error on Transcend")
} }
@@ -297,27 +294,35 @@ export class EcrymeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async chatListeners(html) { static async chatListeners(html) {
html.on("click", '.button-select-confront', event => { $(html).on("click", '.button-select-confront', 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 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 => {
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")
let difficulty = $("#" + rollData.rollId + "-cephaly-difficulty").val() let difficulty = $("#" + rollData.rollId + "-cephaly-difficulty").val()
EcrymeUtility.manageCephalyDifficulty(rollData, difficulty) EcrymeUtility.manageCephalyDifficulty(rollData, difficulty)
}) })
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 => {
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 actor = game.actors.get($(event.currentTarget).data("actor-id"))
@@ -339,7 +344,7 @@ export class EcrymeUtility {
'systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs', 'systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs',
'systems/fvtt-ecryme/templates/actors/partial-impacts.hbs', 'systems/fvtt-ecryme/templates/actors/partial-impacts.hbs',
] ]
return loadTemplates(templatePaths); return foundry.applications.handlebars.loadTemplates(templatePaths);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -414,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
@@ -575,7 +580,7 @@ export class EcrymeUtility {
this.computeResults(rollData) this.computeResults(rollData)
let msg = await this.createChatWithRollMode(rollData.alias, { let msg = await this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData) content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData)
}) })
await msg.setFlag("world", "ecryme-rolldata", rollData) await msg.setFlag("world", "ecryme-rolldata", rollData)
console.log("Rolldata result", rollData) console.log("Rolldata result", rollData)
@@ -718,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));
@@ -730,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

@@ -12,7 +12,7 @@ export class EcrymeConfrontDialog extends Dialog {
width: 620, height: 'fit-content', 'z-index': 99999 width: 620, height: 'fit-content', 'z-index': 99999
}); });
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-dialog.hbs', rollData); let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/confront-dialog.hbs', rollData);
return new EcrymeConfrontDialog(actor, rollData, html, options); return new EcrymeConfrontDialog(actor, rollData, html, options);
} }

View File

@@ -1,13 +1,16 @@
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 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

@@ -6,7 +6,7 @@ export class EcrymeRollDialog extends Dialog {
static async create(actor, rollData) { static async create(actor, rollData) {
let options = { classes: ["ecryme-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 } let options = { classes: ["ecryme-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 }
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs', rollData); let html = await foundry.applications.handlebars.renderTemplate('systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs', rollData);
return new EcrymeRollDialog(actor, rollData, html, options); return new EcrymeRollDialog(actor, rollData, html, options);
} }
@@ -52,7 +52,6 @@ export class EcrymeRollDialog extends Dialog {
activateListeners(html) { activateListeners(html) {
super.activateListeners(html); super.activateListeners(html);
var dialog = this;
function onLoad() { function onLoad() {
} }
$(function () { onLoad(); }); $(function () { onLoad(); });

View File

@@ -57,18 +57,16 @@ Hooks.once("init", async function () {
/* -------------------------------------------- */ /* -------------------------------------------- */
// Register sheet application classes // Register sheet application classes
Actors.unregisterSheet("core", ActorSheet); foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet);
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true }); foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true }); foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false }); foundry.documents.collections.Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet); foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet);
Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true }); foundry.documents.collections.Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true });
EcrymeUtility.init() EcrymeUtility.init()
Babele.get().setSystemTranslationsDir("translated")
}); });
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -91,6 +89,7 @@ async function importDefaultScene() {
await game.scenes.documentClass.create(newDocuments); await game.scenes.documentClass.create(newDocuments);
game.scenes.find(i => i.name == "Landing page 1").activate(); game.scenes.find(i => i.name == "Landing page 1").activate();
} }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
@@ -107,10 +106,10 @@ Hooks.once("ready", function () {
}); });
} }
import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{ import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter => {
console.log("ClassCounter loaded", moduleCounter) console.log("ClassCounter loaded", moduleCounter)
moduleCounter.ClassCounter.registerUsageCount() moduleCounter.ClassCounter.registerUsageCount()
}).catch(err=> }).catch(err =>
console.log("No stats available, giving up.") console.log("No stats available, giving up.")
) )
@@ -119,6 +118,9 @@ Hooks.once("ready", function () {
EcrymeCharacterSummary.ready(); EcrymeCharacterSummary.ready();
importDefaultScene(); importDefaultScene();
// Load translations
Babele.get().setSystemTranslationsDir("translated")
}) })
@@ -135,4 +137,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
} }
return true; return true;
}); });

View File

@@ -4,7 +4,7 @@ import { EcrymeUtility } from "../common/ecryme-utility.js";
* Extend the basic ItemSheet with some very simple modifications * Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet} * @extends {ItemSheet}
*/ */
export class EcrymeItemSheet extends ItemSheet { export class EcrymeItemSheet extends foundry.appv1.sheets.ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
@@ -61,8 +61,8 @@ export class EcrymeItemSheet extends ItemSheet {
limited: this.object.limited, limited: this.object.limited,
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }), description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.description, { async: true }),
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }), notes: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.notes, { async: true }),
isGM: game.user.isGM isGM: game.user.isGM
} }

Binary file not shown.

BIN
packs/equipment/000192.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000163 MANIFEST-000225

View File

@@ -1,7 +1,7 @@
2024/04/27-08:47:55.410828 7fc5c4c006c0 Recovering log #161 2025/10/16-23:04:27.935378 7f189effd6c0 Recovering log #223
2024/04/27-08:47:55.422094 7fc5c4c006c0 Delete type=3 #159 2025/10/16-23:04:27.944998 7f189effd6c0 Delete type=3 #221
2024/04/27-08:47:55.422190 7fc5c4c006c0 Delete type=0 #161 2025/10/16-23:04:27.945071 7f189effd6c0 Delete type=0 #223
2024/04/27-09:26:42.196858 7fc5bfe006c0 Level-0 table #166: started 2025/10/17-00:31:02.431129 7f189e7fc6c0 Level-0 table #228: started
2024/04/27-09:26:42.196924 7fc5bfe006c0 Level-0 table #166: 0 bytes OK 2025/10/17-00:31:02.431165 7f189e7fc6c0 Level-0 table #228: 0 bytes OK
2024/04/27-09:26:42.203539 7fc5bfe006c0 Delete type=0 #164 2025/10/17-00:31:02.437211 7f189e7fc6c0 Delete type=0 #226
2024/04/27-09:26:42.227249 7fc5bfe006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end) 2025/10/17-00:31:02.444512 7f189e7fc6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2024/04/26-19:22:08.707793 7f89060006c0 Recovering log #156 2025/10/02-22:42:43.315581 7ff26f7fe6c0 Recovering log #219
2024/04/26-19:22:08.718085 7f89060006c0 Delete type=3 #154 2025/10/02-22:42:43.325193 7ff26f7fe6c0 Delete type=3 #217
2024/04/26-19:22:08.718160 7f89060006c0 Delete type=0 #156 2025/10/02-22:42:43.325254 7ff26f7fe6c0 Delete type=0 #219
2024/04/26-19:25:18.674002 7f88ffe006c0 Level-0 table #162: started 2025/10/02-22:46:10.718055 7ff26ebff6c0 Level-0 table #224: started
2024/04/26-19:25:18.674046 7f88ffe006c0 Level-0 table #162: 0 bytes OK 2025/10/02-22:46:10.718108 7ff26ebff6c0 Level-0 table #224: 0 bytes OK
2024/04/26-19:25:18.715930 7f88ffe006c0 Delete type=0 #160 2025/10/02-22:46:10.724165 7ff26ebff6c0 Delete type=0 #222
2024/04/26-19:25:18.747436 7f88ffe006c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.737951 7ff26ebff6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/help/000129.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000100 MANIFEST-000162

View File

@@ -1,8 +1,8 @@
2024/04/27-08:47:55.474153 7fc5c56006c0 Recovering log #98 2025/10/16-23:04:27.987583 7f189f7fe6c0 Recovering log #160
2024/04/27-08:47:55.484458 7fc5c56006c0 Delete type=3 #96 2025/10/16-23:04:27.998975 7f189f7fe6c0 Delete type=3 #158
2024/04/27-08:47:55.484547 7fc5c56006c0 Delete type=0 #98 2025/10/16-23:04:27.999065 7f189f7fe6c0 Delete type=0 #160
2024/04/27-09:26:42.227493 7fc5bfe006c0 Level-0 table #103: started 2025/10/17-00:31:02.437340 7f189e7fc6c0 Level-0 table #165: started
2024/04/27-09:26:42.227557 7fc5bfe006c0 Level-0 table #103: 0 bytes OK 2025/10/17-00:31:02.437367 7f189e7fc6c0 Level-0 table #165: 0 bytes OK
2024/04/27-09:26:42.234320 7fc5bfe006c0 Delete type=0 #101 2025/10/17-00:31:02.444287 7f189e7fc6c0 Delete type=0 #163
2024/04/27-09:26:42.234536 7fc5bfe006c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2025/10/17-00:31:02.444526 7f189e7fc6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2024/04/27-09:26:42.234577 7fc5bfe006c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2025/10/17-00:31:02.454473 7f189e7fc6c0 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 @@
2024/04/26-19:22:08.762783 7f89074006c0 Recovering log #93 2025/10/02-22:42:43.369243 7ff26ffff6c0 Recovering log #156
2024/04/26-19:22:08.773921 7f89074006c0 Delete type=3 #91 2025/10/02-22:42:43.379551 7ff26ffff6c0 Delete type=3 #154
2024/04/26-19:22:08.774007 7f89074006c0 Delete type=0 #93 2025/10/02-22:42:43.379614 7ff26ffff6c0 Delete type=0 #156
2024/04/26-19:25:18.785678 7f88ffe006c0 Level-0 table #99: started 2025/10/02-22:46:10.762665 7ff26ebff6c0 Level-0 table #161: started
2024/04/26-19:25:18.785720 7f88ffe006c0 Level-0 table #99: 0 bytes OK 2025/10/02-22:46:10.762700 7ff26ebff6c0 Level-0 table #161: 0 bytes OK
2024/04/26-19:25:18.821605 7f88ffe006c0 Delete type=0 #97 2025/10/02-22:46:10.769189 7ff26ebff6c0 Delete type=0 #159
2024/04/26-19:25:18.901806 7f88ffe006c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.769383 7ff26ebff6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
2024/04/26-19:25:18.901870 7f88ffe006c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.779762 7ff26ebff6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)

Binary file not shown.

BIN
packs/help/MANIFEST-000162 Normal file

Binary file not shown.

Binary file not shown.

BIN
packs/maneuvers/000192.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000163 MANIFEST-000225

View File

@@ -1,7 +1,7 @@
2024/04/27-08:47:55.459426 7fc5c4c006c0 Recovering log #161 2025/10/16-23:04:27.975607 7f18a4ffa6c0 Recovering log #223
2024/04/27-08:47:55.470519 7fc5c4c006c0 Delete type=3 #159 2025/10/16-23:04:27.985618 7f18a4ffa6c0 Delete type=3 #221
2024/04/27-08:47:55.470616 7fc5c4c006c0 Delete type=0 #161 2025/10/16-23:04:27.985677 7f18a4ffa6c0 Delete type=0 #223
2024/04/27-09:26:42.211453 7fc5bfe006c0 Level-0 table #166: started 2025/10/17-00:31:02.386862 7f189e7fc6c0 Level-0 table #228: started
2024/04/27-09:26:42.211516 7fc5bfe006c0 Level-0 table #166: 0 bytes OK 2025/10/17-00:31:02.386912 7f189e7fc6c0 Level-0 table #228: 0 bytes OK
2024/04/27-09:26:42.218445 7fc5bfe006c0 Delete type=0 #164 2025/10/17-00:31:02.393931 7f189e7fc6c0 Delete type=0 #226
2024/04/27-09:26:42.227295 7fc5bfe006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end) 2025/10/17-00:31:02.413626 7f189e7fc6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2024/04/26-19:22:08.749669 7f8906a006c0 Recovering log #156 2025/10/02-22:42:43.357117 7ff2749f96c0 Recovering log #219
2024/04/26-19:22:08.759716 7f8906a006c0 Delete type=3 #154 2025/10/02-22:42:43.366815 7ff2749f96c0 Delete type=3 #217
2024/04/26-19:22:08.759885 7f8906a006c0 Delete type=0 #156 2025/10/02-22:42:43.366872 7ff2749f96c0 Delete type=0 #219
2024/04/26-19:25:18.747562 7f88ffe006c0 Level-0 table #162: started 2025/10/02-22:46:10.756135 7ff26ebff6c0 Level-0 table #224: started
2024/04/26-19:25:18.747596 7f88ffe006c0 Level-0 table #162: 0 bytes OK 2025/10/02-22:46:10.756193 7ff26ebff6c0 Level-0 table #224: 0 bytes OK
2024/04/26-19:25:18.785476 7f88ffe006c0 Delete type=0 #160 2025/10/02-22:46:10.762494 7ff26ebff6c0 Delete type=0 #222
2024/04/26-19:25:18.901779 7f88ffe006c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.769374 7ff26ebff6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/scenes/000090.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000047 MANIFEST-000111

View File

@@ -1,8 +1,8 @@
2024/04/27-08:47:55.443420 7fc5c4c006c0 Recovering log #45 2025/10/16-23:04:27.962699 7f189f7fe6c0 Recovering log #109
2024/04/27-08:47:55.454090 7fc5c4c006c0 Delete type=3 #43 2025/10/16-23:04:27.972819 7f189f7fe6c0 Delete type=3 #107
2024/04/27-08:47:55.454232 7fc5c4c006c0 Delete type=0 #45 2025/10/16-23:04:27.972872 7f189f7fe6c0 Delete type=0 #109
2024/04/27-09:26:42.203748 7fc5bfe006c0 Level-0 table #50: started 2025/10/17-00:31:02.407461 7f189e7fc6c0 Level-0 table #114: started
2024/04/27-09:26:42.203807 7fc5bfe006c0 Level-0 table #50: 0 bytes OK 2025/10/17-00:31:02.407488 7f189e7fc6c0 Level-0 table #114: 0 bytes OK
2024/04/27-09:26:42.211166 7fc5bfe006c0 Delete type=0 #48 2025/10/17-00:31:02.413518 7f189e7fc6c0 Delete type=0 #112
2024/04/27-09:26:42.227275 7fc5bfe006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end) 2025/10/17-00:31:02.413653 7f189e7fc6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2024/04/27-09:26:42.227330 7fc5bfe006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end) 2025/10/17-00:31:02.413685 7f189e7fc6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2024/04/26-19:22:08.735377 7f89074006c0 Recovering log #40 2025/10/02-22:42:43.343031 7ff26ffff6c0 Recovering log #105
2024/04/26-19:22:08.745776 7f89074006c0 Delete type=3 #38 2025/10/02-22:42:43.353479 7ff26ffff6c0 Delete type=3 #103
2024/04/26-19:22:08.745887 7f89074006c0 Delete type=0 #40 2025/10/02-22:42:43.353550 7ff26ffff6c0 Delete type=0 #105
2024/04/26-19:25:18.595904 7f88ffe006c0 Level-0 table #46: started 2025/10/02-22:46:10.730732 7ff26ebff6c0 Level-0 table #110: started
2024/04/26-19:25:18.595980 7f88ffe006c0 Level-0 table #46: 0 bytes OK 2025/10/02-22:46:10.730767 7ff26ebff6c0 Level-0 table #110: 0 bytes OK
2024/04/26-19:25:18.630930 7f88ffe006c0 Delete type=0 #44 2025/10/02-22:46:10.737713 7ff26ebff6c0 Delete type=0 #108
2024/04/26-19:25:18.747411 7f88ffe006c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.737975 7ff26ebff6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
2024/04/26-19:25:18.747487 7f88ffe006c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.738002 7ff26ebff6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000163 MANIFEST-000225

View File

@@ -1,7 +1,7 @@
2024/04/27-08:47:55.395447 7fc5c56006c0 Recovering log #161 2025/10/16-23:04:27.922340 7f189f7fe6c0 Recovering log #223
2024/04/27-08:47:55.406766 7fc5c56006c0 Delete type=3 #159 2025/10/16-23:04:27.932658 7f189f7fe6c0 Delete type=3 #221
2024/04/27-08:47:55.406871 7fc5c56006c0 Delete type=0 #161 2025/10/16-23:04:27.932743 7f189f7fe6c0 Delete type=0 #223
2024/04/27-09:26:42.188991 7fc5bfe006c0 Level-0 table #166: started 2025/10/17-00:31:02.394067 7f189e7fc6c0 Level-0 table #228: started
2024/04/27-09:26:42.189072 7fc5bfe006c0 Level-0 table #166: 0 bytes OK 2025/10/17-00:31:02.394095 7f189e7fc6c0 Level-0 table #228: 0 bytes OK
2024/04/27-09:26:42.196426 7fc5bfe006c0 Delete type=0 #164 2025/10/17-00:31:02.400645 7f189e7fc6c0 Delete type=0 #226
2024/04/27-09:26:42.196728 7fc5bfe006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end) 2025/10/17-00:31:02.413636 7f189e7fc6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2024/04/26-19:22:08.694940 7f89056006c0 Recovering log #156 2025/10/02-22:42:43.301864 7ff26ffff6c0 Recovering log #219
2024/04/26-19:22:08.705096 7f89056006c0 Delete type=3 #154 2025/10/02-22:42:43.312602 7ff26ffff6c0 Delete type=3 #217
2024/04/26-19:22:08.705158 7f89056006c0 Delete type=0 #156 2025/10/02-22:42:43.312680 7ff26ffff6c0 Delete type=0 #219
2024/04/26-19:25:18.631092 7f88ffe006c0 Level-0 table #162: started 2025/10/02-22:46:10.711801 7ff26ebff6c0 Level-0 table #224: started
2024/04/26-19:25:18.631157 7f88ffe006c0 Level-0 table #162: 0 bytes OK 2025/10/02-22:46:10.711844 7ff26ebff6c0 Level-0 table #224: 0 bytes OK
2024/04/26-19:25:18.673806 7f88ffe006c0 Delete type=0 #160 2025/10/02-22:46:10.717835 7ff26ebff6c0 Delete type=0 #222
2024/04/26-19:25:18.747426 7f88ffe006c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.737937 7ff26ebff6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
packs/traits/000192.ldb Normal file

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000163 MANIFEST-000225

View File

@@ -1,7 +1,7 @@
2024/04/27-08:47:55.428744 7fc5c56006c0 Recovering log #161 2025/10/16-23:04:27.948519 7f189ffff6c0 Recovering log #223
2024/04/27-08:47:55.439052 7fc5c56006c0 Delete type=3 #159 2025/10/16-23:04:27.959741 7f189ffff6c0 Delete type=3 #221
2024/04/27-08:47:55.439149 7fc5c56006c0 Delete type=0 #161 2025/10/16-23:04:27.959811 7f189ffff6c0 Delete type=0 #223
2024/04/27-09:26:42.218635 7fc5bfe006c0 Level-0 table #166: started 2025/10/17-00:31:02.400771 7f189e7fc6c0 Level-0 table #228: started
2024/04/27-09:26:42.218676 7fc5bfe006c0 Level-0 table #166: 0 bytes OK 2025/10/17-00:31:02.400802 7f189e7fc6c0 Level-0 table #228: 0 bytes OK
2024/04/27-09:26:42.227027 7fc5bfe006c0 Delete type=0 #164 2025/10/17-00:31:02.407358 7f189e7fc6c0 Delete type=0 #226
2024/04/27-09:26:42.227313 7fc5bfe006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end) 2025/10/17-00:31:02.413646 7f189e7fc6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2024/04/26-19:22:08.721470 7f8906a006c0 Recovering log #156 2025/10/02-22:42:43.327925 7ff2749f96c0 Recovering log #219
2024/04/26-19:22:08.732531 7f8906a006c0 Delete type=3 #154 2025/10/02-22:42:43.339012 7ff2749f96c0 Delete type=3 #217
2024/04/26-19:22:08.732624 7f8906a006c0 Delete type=0 #156 2025/10/02-22:42:43.339080 7ff2749f96c0 Delete type=0 #219
2024/04/26-19:25:18.716069 7f88ffe006c0 Level-0 table #162: started 2025/10/02-22:46:10.724277 7ff26ebff6c0 Level-0 table #224: started
2024/04/26-19:25:18.716099 7f88ffe006c0 Level-0 table #162: 0 bytes OK 2025/10/02-22:46:10.724304 7ff26ebff6c0 Level-0 table #224: 0 bytes OK
2024/04/26-19:25:18.747273 7f88ffe006c0 Delete type=0 #160 2025/10/02-22:46:10.730560 7ff26ebff6c0 Delete type=0 #222
2024/04/26-19:25:18.747446 7f88ffe006c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end) 2025/10/02-22:46:10.737964 7ff26ebff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -454,9 +454,11 @@ section.sheet-body{padding: 0.25rem 0.5rem;}
/* background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/ /* background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/
nav.sheet-tabs a,
nav.sheet-tabs .item { nav.sheet-tabs .item {
position: relative; position: relative;
padding: 0 0.25rem; padding: 0 0.25rem;
color: beige;
} }
nav.sheet-tabs .item:after { nav.sheet-tabs .item:after {

View File

@@ -3,8 +3,10 @@
"esmodules": [ "esmodules": [
"modules/ecryme-main.js" "modules/ecryme-main.js"
], ],
"gridDistance": 1, "grid": {
"gridUnits": "m", "distance": 2,
"units": "m"
},
"languages": [ "languages": [
{ {
"lang": "fr", "lang": "fr",
@@ -102,8 +104,8 @@
"license": "LICENSE.txt", "license": "LICENSE.txt",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json", "manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json",
"compatibility": { "compatibility": {
"minimum": "11", "minimum": "13",
"verified": "12" "verified": "13"
}, },
"id": "fvtt-ecryme", "id": "fvtt-ecryme",
"primaryTokenAttribute": "secondary.health", "primaryTokenAttribute": "secondary.health",
@@ -123,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": "12.0.1", "version": "13.0.2",
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v12.0.1.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v13.0.2.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

@@ -31,26 +31,31 @@
"pnjvalue": 0, "pnjvalue": 0,
"skilllist": { "skilllist": {
"athletics": { "athletics": {
"key": "athletics",
"name": "ECRY.ui.athletics", "name": "ECRY.ui.athletics",
"max": 0, "max": 0,
"value": 0 "value": 0
}, },
"driving": { "driving": {
"key": "driving",
"name": "ECRY.ui.driving", "name": "ECRY.ui.driving",
"max": 0, "max": 0,
"value": 0 "value": 0
}, },
"fencing": { "fencing": {
"key": "fencing",
"name": "ECRY.ui.fencing", "name": "ECRY.ui.fencing",
"max": 0, "max": 0,
"value": 0 "value": 0
}, },
"brawling": { "brawling": {
"key": "brawling",
"name": "ECRY.ui.brawling", "name": "ECRY.ui.brawling",
"max": 0, "max": 0,
"value": 0 "value": 0
}, },
"shooting": { "shooting": {
"key": "shooting",
"name": "ECRY.ui.shooting", "name": "ECRY.ui.shooting",
"max": 0, "max": 0,
"value": 0 "value": 0
@@ -62,26 +67,31 @@
"pnjvalue": 0, "pnjvalue": 0,
"skilllist": { "skilllist": {
"anthropomecanology": { "anthropomecanology": {
"key": "anthropomecanology",
"name": "ECRY.ui.anthropomecanology", "name": "ECRY.ui.anthropomecanology",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"ecrymology": { "ecrymology": {
"key": "ecrymology",
"name": "ECRY.ui.ecrymology", "name": "ECRY.ui.ecrymology",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"traumatology": { "traumatology": {
"key": "traumatology",
"name": "ECRY.ui.traumatology", "name": "ECRY.ui.traumatology",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"traversology": { "traversology": {
"key": "traversology",
"name": "ECRY.ui.traversology", "name": "ECRY.ui.traversology",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"urbatechnology": { "urbatechnology": {
"key": "urbatechnology",
"name": "ECRY.ui.urbatechnology", "name": "ECRY.ui.urbatechnology",
"value": 0, "value": 0,
"max": 10 "max": 10
@@ -93,26 +103,31 @@
"pnjvalue": 0, "pnjvalue": 0,
"skilllist": { "skilllist": {
"quibbling": { "quibbling": {
"key": "quibbling",
"name": "ECRY.ui.quibbling", "name": "ECRY.ui.quibbling",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"creativity": { "creativity": {
"key": "creativity",
"name": "ECRY.ui.creativity", "name": "ECRY.ui.creativity",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"loquacity": { "loquacity": {
"key": "loquacity",
"name": "ECRY.ui.loquacity", "name": "ECRY.ui.loquacity",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"guile": { "guile": {
"key": "guile",
"name": "ECRY.ui.guile", "name": "ECRY.ui.guile",
"value": 0, "value": 0,
"max": 10 "max": 10
}, },
"performance": { "performance": {
"key": "performance",
"name": "ECRY.ui.performance", "name": "ECRY.ui.performance",
"value": 0, "value": 0,
"max": 10 "max": 10

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>