Compare commits
19 Commits
v12
...
fvtt-ecrym
| Author | SHA1 | Date | |
|---|---|---|---|
| e47ad95a38 | |||
| fc386487e8 | |||
| bda88c067e | |||
| 4003e0e42b | |||
| a6d811bcda | |||
| 94eb637637 | |||
| 8c58367cdc | |||
| c439ca978c | |||
| ffe1144f2a | |||
| 38ef07d17b | |||
| a8cc2dce4b | |||
| 0fadd0783c | |||
| a55a038d32 | |||
| d012f78881 | |||
| 01e13da234 | |||
| bc09b5050d | |||
| d68001b376 | |||
| 6b22dade9c | |||
| 965fc02eb3 |
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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>";
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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(); });
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -57,28 +58,40 @@ 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")
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
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."
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,6 +104,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();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -98,9 +112,6 @@ async function importDefaultScene() {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
Hooks.once("ready", function () {
|
Hooks.once("ready", function () {
|
||||||
|
|
||||||
// Load trranslations
|
|
||||||
Babele.get().setSystemTranslationsDir("translated")
|
|
||||||
|
|
||||||
// User warning
|
// User warning
|
||||||
if (!game.user.isGM && game.user.character == undefined) {
|
if (!game.user.isGM && game.user.character == undefined) {
|
||||||
ui.notifications.info("Attention ! Aucun personnage relié au joueur !");
|
ui.notifications.info("Attention ! Aucun personnage relié au joueur !");
|
||||||
@@ -124,6 +135,11 @@ Hooks.once("ready", function () {
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
Hooks.once('babele.init', (babele) => {
|
||||||
|
babele.setSystemTranslationsDir("translated");
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
@@ -138,4 +154,3 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -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
BIN
packs/equipment/000192.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000184
|
MANIFEST-000257
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2025/03/11-23:44:54.691022 7f24c57fa6c0 Recovering log #182
|
2026/02/17-22:52:51.783329 7f1e223fe6c0 Recovering log #255
|
||||||
2025/03/11-23:44:54.761305 7f24c57fa6c0 Delete type=3 #180
|
2026/02/17-22:52:51.793345 7f1e223fe6c0 Delete type=3 #253
|
||||||
2025/03/11-23:44:54.761368 7f24c57fa6c0 Delete type=0 #182
|
2026/02/17-22:52:51.793403 7f1e223fe6c0 Delete type=0 #255
|
||||||
2025/03/11-23:45:54.472551 7f24c4bff6c0 Level-0 table #187: started
|
2026/02/18-00:07:51.604423 7f1e20bfb6c0 Level-0 table #260: started
|
||||||
2025/03/11-23:45:54.472575 7f24c4bff6c0 Level-0 table #187: 0 bytes OK
|
2026/02/18-00:07:51.604449 7f1e20bfb6c0 Level-0 table #260: 0 bytes OK
|
||||||
2025/03/11-23:45:54.479092 7f24c4bff6c0 Delete type=0 #185
|
2026/02/18-00:07:51.610566 7f1e20bfb6c0 Delete type=0 #258
|
||||||
2025/03/11-23:45:54.491718 7f24c4bff6c0 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)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2025/03/11-23:33:32.501703 7f24c5ffb6c0 Recovering log #178
|
2026/02/17-22:32:54.354370 7f1e213fc6c0 Recovering log #251
|
||||||
2025/03/11-23:33:32.511734 7f24c5ffb6c0 Delete type=3 #176
|
2026/02/17-22:32:54.365341 7f1e213fc6c0 Delete type=3 #249
|
||||||
2025/03/11-23:33:32.511785 7f24c5ffb6c0 Delete type=0 #178
|
2026/02/17-22:32:54.365467 7f1e213fc6c0 Delete type=0 #251
|
||||||
2025/03/11-23:44:47.591299 7f24c4bff6c0 Level-0 table #183: started
|
2026/02/17-22:51:18.237998 7f1e20bfb6c0 Level-0 table #256: started
|
||||||
2025/03/11-23:44:47.591363 7f24c4bff6c0 Level-0 table #183: 0 bytes OK
|
2026/02/17-22:51:18.238020 7f1e20bfb6c0 Level-0 table #256: 0 bytes OK
|
||||||
2025/03/11-23:44:47.624590 7f24c4bff6c0 Delete type=0 #181
|
2026/02/17-22:51:18.244001 7f1e20bfb6c0 Delete type=0 #254
|
||||||
2025/03/11-23:44:47.748676 7f24c4bff6c0 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)
|
||||||
|
|||||||
Binary file not shown.
BIN
packs/equipment/MANIFEST-000257
Normal file
BIN
packs/equipment/MANIFEST-000257
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/help/000129.ldb
Normal file
BIN
packs/help/000129.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000121
|
MANIFEST-000194
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2025/03/11-23:44:54.948819 7f24c67fc6c0 Recovering log #119
|
2026/02/17-22:52:51.836522 7f1e213fc6c0 Recovering log #192
|
||||||
2025/03/11-23:44:55.014909 7f24c67fc6c0 Delete type=3 #117
|
2026/02/17-22:52:51.846119 7f1e213fc6c0 Delete type=3 #190
|
||||||
2025/03/11-23:44:55.015006 7f24c67fc6c0 Delete type=0 #119
|
2026/02/17-22:52:51.846206 7f1e213fc6c0 Delete type=0 #192
|
||||||
2025/03/11-23:45:54.515413 7f24c4bff6c0 Level-0 table #124: started
|
2026/02/18-00:07:51.788872 7f1e20bfb6c0 Level-0 table #197: started
|
||||||
2025/03/11-23:45:54.515443 7f24c4bff6c0 Level-0 table #124: 0 bytes OK
|
2026/02/18-00:07:51.788909 7f1e20bfb6c0 Level-0 table #197: 0 bytes OK
|
||||||
2025/03/11-23:45:54.522097 7f24c4bff6c0 Delete type=0 #122
|
2026/02/18-00:07:51.795266 7f1e20bfb6c0 Delete type=0 #195
|
||||||
2025/03/11-23:45:54.522287 7f24c4bff6c0 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/03/11-23:45:54.522303 7f24c4bff6c0 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)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2025/03/11-23:33:32.552584 7f24c6ffd6c0 Recovering log #115
|
2026/02/17-22:32:54.423305 7f1e21bfd6c0 Recovering log #188
|
||||||
2025/03/11-23:33:32.563351 7f24c6ffd6c0 Delete type=3 #113
|
2026/02/17-22:32:54.435381 7f1e21bfd6c0 Delete type=3 #186
|
||||||
2025/03/11-23:33:32.563398 7f24c6ffd6c0 Delete type=0 #115
|
2026/02/17-22:32:54.435516 7f1e21bfd6c0 Delete type=0 #188
|
||||||
2025/03/11-23:44:47.842166 7f24c4bff6c0 Level-0 table #120: started
|
2026/02/17-22:51:18.269462 7f1e20bfb6c0 Level-0 table #193: started
|
||||||
2025/03/11-23:44:47.842227 7f24c4bff6c0 Level-0 table #120: 0 bytes OK
|
2026/02/17-22:51:18.269511 7f1e20bfb6c0 Level-0 table #193: 0 bytes OK
|
||||||
2025/03/11-23:44:47.879285 7f24c4bff6c0 Delete type=0 #118
|
2026/02/17-22:51:18.276022 7f1e20bfb6c0 Delete type=0 #191
|
||||||
2025/03/11-23:44:47.922462 7f24c4bff6c0 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/03/11-23:44:47.974424 7f24c4bff6c0 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)
|
||||||
|
|||||||
Binary file not shown.
BIN
packs/help/MANIFEST-000194
Normal file
BIN
packs/help/MANIFEST-000194
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/maneuvers/000192.ldb
Normal file
BIN
packs/maneuvers/000192.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000184
|
MANIFEST-000257
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2025/03/11-23:44:54.883993 7f24c5ffb6c0 Recovering log #182
|
2026/02/17-22:52:51.822834 7f1e213fc6c0 Recovering log #255
|
||||||
2025/03/11-23:44:54.946077 7f24c5ffb6c0 Delete type=3 #180
|
2026/02/17-22:52:51.833307 7f1e213fc6c0 Delete type=3 #253
|
||||||
2025/03/11-23:44:54.946154 7f24c5ffb6c0 Delete type=0 #182
|
2026/02/17-22:52:51.833365 7f1e213fc6c0 Delete type=0 #255
|
||||||
2025/03/11-23:45:54.498184 7f24c4bff6c0 Level-0 table #187: started
|
2026/02/18-00:07:51.795405 7f1e20bfb6c0 Level-0 table #260: started
|
||||||
2025/03/11-23:45:54.498223 7f24c4bff6c0 Level-0 table #187: 0 bytes OK
|
2026/02/18-00:07:51.795433 7f1e20bfb6c0 Level-0 table #260: 0 bytes OK
|
||||||
2025/03/11-23:45:54.505537 7f24c4bff6c0 Delete type=0 #185
|
2026/02/18-00:07:51.802173 7f1e20bfb6c0 Delete type=0 #258
|
||||||
2025/03/11-23:45:54.522269 7f24c4bff6c0 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)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2025/03/11-23:33:32.540154 7f24c67fc6c0 Recovering log #178
|
2026/02/17-22:32:54.407677 7f1e223fe6c0 Recovering log #251
|
||||||
2025/03/11-23:33:32.549680 7f24c67fc6c0 Delete type=3 #176
|
2026/02/17-22:32:54.418634 7f1e223fe6c0 Delete type=3 #249
|
||||||
2025/03/11-23:33:32.549720 7f24c67fc6c0 Delete type=0 #178
|
2026/02/17-22:32:54.418777 7f1e223fe6c0 Delete type=0 #251
|
||||||
2025/03/11-23:44:47.624705 7f24c4bff6c0 Level-0 table #183: started
|
2026/02/17-22:51:18.232103 7f1e20bfb6c0 Level-0 table #256: started
|
||||||
2025/03/11-23:44:47.624728 7f24c4bff6c0 Level-0 table #183: 0 bytes OK
|
2026/02/17-22:51:18.232142 7f1e20bfb6c0 Level-0 table #256: 0 bytes OK
|
||||||
2025/03/11-23:44:47.667991 7f24c4bff6c0 Delete type=0 #181
|
2026/02/17-22:51:18.237935 7f1e20bfb6c0 Delete type=0 #254
|
||||||
2025/03/11-23:44:47.748692 7f24c4bff6c0 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)
|
||||||
|
|||||||
Binary file not shown.
BIN
packs/maneuvers/MANIFEST-000257
Normal file
BIN
packs/maneuvers/MANIFEST-000257
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/scenes/000090.ldb
Normal file
BIN
packs/scenes/000090.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000068
|
MANIFEST-000143
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2025/03/11-23:44:54.826302 7f24c67fc6c0 Recovering log #66
|
2026/02/17-22:52:51.809397 7f1e22bff6c0 Recovering log #141
|
||||||
2025/03/11-23:44:54.878873 7f24c67fc6c0 Delete type=3 #64
|
2026/02/17-22:52:51.819324 7f1e22bff6c0 Delete type=3 #139
|
||||||
2025/03/11-23:44:54.879033 7f24c67fc6c0 Delete type=0 #66
|
2026/02/17-22:52:51.819396 7f1e22bff6c0 Delete type=0 #141
|
||||||
2025/03/11-23:45:54.479218 7f24c4bff6c0 Level-0 table #71: started
|
2026/02/18-00:07:51.772211 7f1e20bfb6c0 Level-0 table #146: started
|
||||||
2025/03/11-23:45:54.479246 7f24c4bff6c0 Level-0 table #71: 0 bytes OK
|
2026/02/18-00:07:51.772244 7f1e20bfb6c0 Level-0 table #146: 0 bytes OK
|
||||||
2025/03/11-23:45:54.485312 7f24c4bff6c0 Delete type=0 #69
|
2026/02/18-00:07:51.778644 7f1e20bfb6c0 Delete type=0 #144
|
||||||
2025/03/11-23:45:54.491727 7f24c4bff6c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 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/03/11-23:45:54.491756 7f24c4bff6c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 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)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2025/03/11-23:33:32.527497 7f24c6ffd6c0 Recovering log #62
|
2026/02/17-22:32:54.389501 7f1e21bfd6c0 Recovering log #137
|
||||||
2025/03/11-23:33:32.537450 7f24c6ffd6c0 Delete type=3 #60
|
2026/02/17-22:32:54.400905 7f1e21bfd6c0 Delete type=3 #135
|
||||||
2025/03/11-23:33:32.537513 7f24c6ffd6c0 Delete type=0 #62
|
2026/02/17-22:32:54.401049 7f1e21bfd6c0 Delete type=0 #137
|
||||||
2025/03/11-23:44:47.879398 7f24c4bff6c0 Level-0 table #67: started
|
2026/02/17-22:51:18.250480 7f1e20bfb6c0 Level-0 table #142: started
|
||||||
2025/03/11-23:44:47.879423 7f24c4bff6c0 Level-0 table #67: 0 bytes OK
|
2026/02/17-22:51:18.250515 7f1e20bfb6c0 Level-0 table #142: 0 bytes OK
|
||||||
2025/03/11-23:44:47.922234 7f24c4bff6c0 Delete type=0 #65
|
2026/02/17-22:51:18.256672 7f1e20bfb6c0 Delete type=0 #140
|
||||||
2025/03/11-23:44:47.922483 7f24c4bff6c0 Manual compaction at level-0 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 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/03/11-23:44:47.974443 7f24c4bff6c0 Manual compaction at level-1 from '!scenes!YYBr138LR7ntGFdo' @ 72057594037927935 : 1 .. '!scenes!wJJTdzEVyJpkUXaM' @ 0 : 0; will stop at (end)
|
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)
|
||||||
|
|||||||
Binary file not shown.
BIN
packs/scenes/MANIFEST-000143
Normal file
BIN
packs/scenes/MANIFEST-000143
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/specialisation/000192.ldb
Normal file
BIN
packs/specialisation/000192.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000184
|
MANIFEST-000257
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2025/03/11-23:44:54.615643 7f24c6ffd6c0 Recovering log #182
|
2026/02/17-22:52:51.771179 7f1e22bff6c0 Recovering log #255
|
||||||
2025/03/11-23:44:54.688425 7f24c6ffd6c0 Delete type=3 #180
|
2026/02/17-22:52:51.780607 7f1e22bff6c0 Delete type=3 #253
|
||||||
2025/03/11-23:44:54.688509 7f24c6ffd6c0 Delete type=0 #182
|
2026/02/17-22:52:51.780660 7f1e22bff6c0 Delete type=0 #255
|
||||||
2025/03/11-23:45:54.466489 7f24c4bff6c0 Level-0 table #187: started
|
2026/02/18-00:07:51.597957 7f1e20bfb6c0 Level-0 table #260: started
|
||||||
2025/03/11-23:45:54.466525 7f24c4bff6c0 Level-0 table #187: 0 bytes OK
|
2026/02/18-00:07:51.597996 7f1e20bfb6c0 Level-0 table #260: 0 bytes OK
|
||||||
2025/03/11-23:45:54.472451 7f24c4bff6c0 Delete type=0 #185
|
2026/02/18-00:07:51.604332 7f1e20bfb6c0 Delete type=0 #258
|
||||||
2025/03/11-23:45:54.491700 7f24c4bff6c0 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)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2025/03/11-23:33:32.488591 7f24c57fa6c0 Recovering log #178
|
2026/02/17-22:32:54.337335 7f1e21bfd6c0 Recovering log #251
|
||||||
2025/03/11-23:33:32.499216 7f24c57fa6c0 Delete type=3 #176
|
2026/02/17-22:32:54.348929 7f1e21bfd6c0 Delete type=3 #249
|
||||||
2025/03/11-23:33:32.499268 7f24c57fa6c0 Delete type=0 #178
|
2026/02/17-22:32:54.349060 7f1e21bfd6c0 Delete type=0 #251
|
||||||
2025/03/11-23:44:47.713953 7f24c4bff6c0 Level-0 table #183: started
|
2026/02/17-22:51:18.224981 7f1e20bfb6c0 Level-0 table #256: started
|
||||||
2025/03/11-23:44:47.713983 7f24c4bff6c0 Level-0 table #183: 0 bytes OK
|
2026/02/17-22:51:18.225046 7f1e20bfb6c0 Level-0 table #256: 0 bytes OK
|
||||||
2025/03/11-23:44:47.748547 7f24c4bff6c0 Delete type=0 #181
|
2026/02/17-22:51:18.231994 7f1e20bfb6c0 Delete type=0 #254
|
||||||
2025/03/11-23:44:47.748713 7f24c4bff6c0 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)
|
||||||
|
|||||||
Binary file not shown.
BIN
packs/specialisation/MANIFEST-000257
Normal file
BIN
packs/specialisation/MANIFEST-000257
Normal file
Binary file not shown.
Binary file not shown.
BIN
packs/traits/000192.ldb
Normal file
BIN
packs/traits/000192.ldb
Normal file
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000184
|
MANIFEST-000257
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2025/03/11-23:44:54.764214 7f24c5ffb6c0 Recovering log #182
|
2026/02/17-22:52:51.796322 7f1e213fc6c0 Recovering log #255
|
||||||
2025/03/11-23:44:54.823309 7f24c5ffb6c0 Delete type=3 #180
|
2026/02/17-22:52:51.806414 7f1e213fc6c0 Delete type=3 #253
|
||||||
2025/03/11-23:44:54.823390 7f24c5ffb6c0 Delete type=0 #182
|
2026/02/17-22:52:51.806525 7f1e213fc6c0 Delete type=0 #255
|
||||||
2025/03/11-23:45:54.485457 7f24c4bff6c0 Level-0 table #187: started
|
2026/02/18-00:07:51.654710 7f1e20bfb6c0 Level-0 table #260: started
|
||||||
2025/03/11-23:45:54.485489 7f24c4bff6c0 Level-0 table #187: 0 bytes OK
|
2026/02/18-00:07:51.654742 7f1e20bfb6c0 Level-0 table #260: 0 bytes OK
|
||||||
2025/03/11-23:45:54.491568 7f24c4bff6c0 Delete type=0 #185
|
2026/02/18-00:07:51.660623 7f1e20bfb6c0 Delete type=0 #258
|
||||||
2025/03/11-23:45:54.491736 7f24c4bff6c0 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)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2025/03/11-23:33:32.514118 7f24c67fc6c0 Recovering log #178
|
2026/02/17-22:32:54.371182 7f1e223fe6c0 Recovering log #251
|
||||||
2025/03/11-23:33:32.524830 7f24c67fc6c0 Delete type=3 #176
|
2026/02/17-22:32:54.383451 7f1e223fe6c0 Delete type=3 #249
|
||||||
2025/03/11-23:33:32.525025 7f24c67fc6c0 Delete type=0 #178
|
2026/02/17-22:32:54.383616 7f1e223fe6c0 Delete type=0 #251
|
||||||
2025/03/11-23:44:47.668164 7f24c4bff6c0 Level-0 table #183: started
|
2026/02/17-22:51:18.244080 7f1e20bfb6c0 Level-0 table #256: started
|
||||||
2025/03/11-23:44:47.668203 7f24c4bff6c0 Level-0 table #183: 0 bytes OK
|
2026/02/17-22:51:18.244107 7f1e20bfb6c0 Level-0 table #256: 0 bytes OK
|
||||||
2025/03/11-23:44:47.713809 7f24c4bff6c0 Delete type=0 #181
|
2026/02/17-22:51:18.250200 7f1e20bfb6c0 Delete type=0 #254
|
||||||
2025/03/11-23:44:47.748703 7f24c4bff6c0 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)
|
||||||
|
|||||||
Binary file not shown.
BIN
packs/traits/MANIFEST-000257
Normal file
BIN
packs/traits/MANIFEST-000257
Normal file
Binary file not shown.
1339
postcss/ecryme.css
1339
postcss/ecryme.css
File diff suppressed because it is too large
Load Diff
1366
styles/ecryme.css
1366
styles/ecryme.css
File diff suppressed because it is too large
Load Diff
@@ -104,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": "12",
|
"minimum": "13",
|
||||||
"verified": "12"
|
"verified": "13"
|
||||||
},
|
},
|
||||||
"id": "fvtt-ecryme",
|
"id": "fvtt-ecryme",
|
||||||
"primaryTokenAttribute": "secondary.health",
|
"primaryTokenAttribute": "secondary.health",
|
||||||
@@ -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": "12.0.3",
|
"version": "13.0.4",
|
||||||
"download": "https://www.uberwald.me/gitea/public/fvtt-ecryme/archive/fvtt-ecryme-v12.0.3.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"
|
||||||
}
|
}
|
||||||
@@ -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>
|
||||||
|
|||||||
42
welcome-message-ecryme.html
Normal file
42
welcome-message-ecryme.html
Normal 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>
|
||||||
Reference in New Issue
Block a user