Fouindry v13 support

This commit is contained in:
2025-04-30 23:51:45 +02:00
parent fdf28c4978
commit 627ccc707b
141 changed files with 475 additions and 357 deletions

View File

@@ -4,7 +4,7 @@ import { WastelandCommands } from "./wasteland-commands.js";
/* -------------------------------------------- */
const __contrecouptCharme = {
1 : {name: "Effet chromatique", description: "le corps du kobold prend des teintes aussi étranges que voyantes. L'effet sestompe progressivement et 24 heures plus tard, le kobold retrouve ses couleurs dorigine." },
1 : {name: "Effet chromatique", description: "le corps du kobold prend des teintes aussi étranges que voyantes. L'effet sestompe progressivement et 24 heures plus tard, le kobold retrouve ses couleurs dorigine." },
3 : {name: "Enivrement Kobold", description: "très excité par son premier tour, le kobold doit immédiatement faire un autre tour, pour lequel il emploiera un dé plus gros." },
5 : {name: "Mutisme superstitieux", description: "le kobold ne doit plus parler» pendant les prochaines 24 heures. S'il le fait malgré tout, les effets de son tour sarrêtent." },
7 : {name: "Agité!", description: "le kobold ne tient plus en place. Il ne peut se reposer pendant les prochaines 12 heures. Dès. que 12 heures se sont écoulées, il s'effondre comme une masse et dort 12 heures d'affilée dun sommeil enchanté dont rien ne pourra le réveiller." },
@@ -14,7 +14,7 @@ const __contrecouptCharme = {
15 : {name: "La petite Mort", description: "le kobold s'endort pour 1420 heures. Rien ni personne ne pourra le tirer de ce sommeil enchanté avant que ce contrecoup ne prenne fin." },
17 : {name: "Angoisse cauchemardesque", description: "le kobold a une brève vision de pure horreur. Il perd 1420 points de Psyché {s'il doit en perdre plus qu'il nen a, il tombe à 0)." },
19 : {name: "Anémie Kobold", description: "le kobold se met à saigner du nez, des oreilles et même dautres endroits. Il perd 1420 point(s) de Santé." }
}
}
/* -------------------------------------------- */
export class WastelandUtility {
@@ -23,7 +23,7 @@ export class WastelandUtility {
/* -------------------------------------------- */
static async init() {
Hooks.on('renderChatLog', (log, html, data) => WastelandUtility.chatListeners(html))
Hooks.on("getChatLogEntryContext", (html, options) => WastelandUtility.chatRollMenu(html, options))
Hooks.on("getChatMessageContextOptions", (html, options) => WastelandUtility.chatRollMenu(html, options))
Hooks.on("getCombatTrackerEntryContext", (html, options) => {
WastelandUtility.pushInitiativeOptions(html, options);
@@ -118,7 +118,7 @@ export class WastelandUtility {
game.system.wasteland.config.pointsAmeOptions = WastelandUtility.createDirectOptionList(0, 20)
}
/* -------------------------------------------- */
static createDirectOptionList(min, max) {
let options = {};
@@ -154,7 +154,7 @@ export class WastelandUtility {
/* -------------------------------------------- */
static async chatListeners(html) {
html.on("click", '.predilection-reroll', async event => {
$(html).on("click", '.predilection-reroll', async event => {
let predIdx = $(event.currentTarget).data("predilection-index")
let messageId = WastelandUtility.findChatMessageId(event.currentTarget)
let message = game.messages.get(messageId)
@@ -173,7 +173,7 @@ export class WastelandUtility {
'systems/fvtt-wasteland/templates/editor-notes-gm.html',
'systems/fvtt-wasteland/templates/partial-item-description.html'
]
return loadTemplates(templatePaths);
return foundry.applications.handlebars.loadTemplates(templatePaths);
}
/* -------------------------------------------- */
@@ -236,7 +236,7 @@ export class WastelandUtility {
static saveRollData(rollData) {
game.socket.emit("system.fvtt-wasteland", {
name: "msg_update_roll", data: rollData
}); // Notify all other clients of the roll
}); // Notify all other clients of the roll
this.updateRollData(rollData);
}
@@ -322,8 +322,8 @@ export class WastelandUtility {
}
}
if (rollData.charme.system.charmetype == "charme") {
rollData.charmeSante = effectRoll.total
actor.incDecSante(rollData.charmeSante)
rollData.charmeSante = effectRoll.total
actor.incDecSante(rollData.charmeSante)
}
} else {
if (rollData.mainDice == "1d20") {
@@ -339,13 +339,13 @@ export class WastelandUtility {
}
}
}
//console.log("Result : ", rollData)
if (rollData.difficulte > 0 && !rollData.isDramatique) {
rollData.isSuccess = (rollData.finalResult >= rollData.difficulte)
rollData.isHeroique = ((rollData.finalResult - rollData.difficulte) >= 10)
rollData.isDramatique = ((rollData.finalResult - rollData.difficulte) <= -10)
}
}
}
}
@@ -370,7 +370,7 @@ export class WastelandUtility {
if (!rollData.isReroll) {
actor.changeEclat(-1)
}
}
}
}
//console.log("BEFORE COMP", rollData)
@@ -395,7 +395,7 @@ export class WastelandUtility {
await this.computeResult(rollData, actor)
this.createChatWithRollMode(rollData.alias, {
content: await renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-wasteland/templates/chat-generic-result.html`, rollData)
}, rollData)
}
@@ -535,7 +535,7 @@ export class WastelandUtility {
/* -------------------------------------------- */
static applyBonneAventureRoll(li, changed, addedBonus) {
let msgId = li.data("message-id")
let msgId = $(li).data("message-id")
let msg = game.messages.get(msgId)
if (msg) {
let rollData = msg.getFlag("world", "wasteland-roll")
@@ -554,7 +554,7 @@ export class WastelandUtility {
/* -------------------------------------------- */
static applyEclatRoll(li, changed, addedBonus) {
let msgId = li.data("message-id")
let msgId = $(li).data("message-id")
let msg = game.messages.get(msgId)
if (msg) {
let rollData = msg.getFlag("world", "wasteland-roll")
@@ -571,7 +571,7 @@ export class WastelandUtility {
static chatRollMenu(html, options) {
let canApply = li => canvas.tokens.controlled.length && li.find(".wasteland-roll").length
let hasBA = 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", "wasteland-roll")
if (rollData?.actorId) {
let actor = game.actors.get(rollData.actorId)
@@ -581,7 +581,7 @@ export class WastelandUtility {
return false
}
let hasBA2 = 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", "wasteland-roll")
if (rollData?.actorId) {
let actor = game.actors.get(rollData.actorId)
@@ -591,7 +591,7 @@ export class WastelandUtility {
return false
}
let hasBA3 = 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", "wasteland-roll")
if (rollData?.actorId) {
let actor = game.actors.get(rollData.actorId)
@@ -601,7 +601,7 @@ export class WastelandUtility {
return false
}
let hasPE = 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", "wasteland-roll")
if (rollData?.actorId) {
let actor = game.actors.get(rollData.actorId)
@@ -611,7 +611,7 @@ export class WastelandUtility {
return false
}
let hasPredilection = 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", "wasteland-roll")
if (rollData.competence) {
let nbPred = rollData.competence.data.predilections.filter(pred => !pred.used).length
@@ -620,7 +620,7 @@ export class WastelandUtility {
return false
}
let canCompetenceDouble = 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", "wasteland-roll")
if (rollData.competence) {
return rollData.competence.data.doublebonus