Various fixes and enhancements
This commit is contained in:
@ -6,6 +6,19 @@ export class TeDeumUtility {
|
||||
/* -------------------------------------------- */
|
||||
static async init() {
|
||||
Hooks.on('renderChatLog', (log, html, data) => TeDeumUtility.chatListeners(html));
|
||||
|
||||
Hooks.on("renderActorDirectory", (app, html, data) => {
|
||||
if (game.user.can('ACTOR_CREATE')) {
|
||||
const button = document.createElement('button');
|
||||
button.style.width = '90%';
|
||||
button.innerHTML = 'Créer un Personnage'
|
||||
button.addEventListener('click', () => {
|
||||
let cr = new game.system.tedeum.TeDeumCharacterCreator();
|
||||
cr.init()
|
||||
})
|
||||
html.find('.header-actions').after(button)
|
||||
}
|
||||
})
|
||||
//Hooks.on("getChatLogEntryContext", (html, options) => TeDeumUtility.chatMenuManager(html, options));
|
||||
}
|
||||
|
||||
@ -64,6 +77,9 @@ export class TeDeumUtility {
|
||||
Handlebars.registerHelper('getCaracDescription', function (key, value) {
|
||||
return game.system.tedeum.config.descriptionValeur[Number(value)][key]
|
||||
})
|
||||
Handlebars.registerHelper('getEducationEtape', function (key) {
|
||||
return game.system.tedeum.config.etapesEducation[key].label
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('isGM', function () {
|
||||
return game.user.isGM
|
||||
@ -76,6 +92,31 @@ export class TeDeumUtility {
|
||||
for (let i of this.competences) {
|
||||
this.competencesList[i.name.toLowerCase()] = { name: i.name, id: i._id }
|
||||
}
|
||||
this.competencesList = Object.entries(this.competencesList).sort().reduce((o, [k, v]) => (o[k] = v, o), {})
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async importDefaultScene() {
|
||||
let exists = game.scenes.find(j => j.name == "Te Deum");
|
||||
if (!exists) {
|
||||
const scenes = await TeDeumUtility.loadCompendium("fvtt-te-deum.scenes")
|
||||
let newDocuments = scenes.filter(i => i.name == "Te Deum");
|
||||
if (newDocuments) {
|
||||
await game.scenes.documentClass.create(newDocuments);
|
||||
game.scenes.find(i => i.name == "Te Deum").activate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static welcomeMessage() {
|
||||
if (game.user.isGM) {
|
||||
ChatMessage.create({
|
||||
user: game.user.id,
|
||||
whisper: [game.user.id],
|
||||
content: `<div id="welcome-message-tedeum"><span class="rdd-roll-part">
|
||||
<strong>Bienvenu dans Te Deum Pour Un Massacre !</strong>` });
|
||||
}
|
||||
}
|
||||
|
||||
/*-------------------------------------------- */
|
||||
@ -89,22 +130,25 @@ export class TeDeumUtility {
|
||||
|
||||
/*-------------------------------------------- */
|
||||
static prepareEducationContent(formData) {
|
||||
let nbCompetences = game.system.tedeum.config.etapesEducation[formData.system.etape].nbCompetences
|
||||
let etape = game.system.tedeum.config.etapesEducation[formData.system.etape]
|
||||
let nbCompetences = etape.nbCompetences
|
||||
for (let key in formData.system.competences) {
|
||||
formData.system.competences[key].valid = false
|
||||
}
|
||||
for (let i = 1; i <= nbCompetences; i++) {
|
||||
formData.system.competences[`comp${i}`].valid = true
|
||||
}
|
||||
let nbCaracteristiques = game.system.tedeum.config.etapesEducation[formData.system.etape].nbCaracteristiques
|
||||
let nbCaracteristiques = etape.nbCaracteristiques
|
||||
for (let key in formData.system.caracteristiques) {
|
||||
formData.system.caracteristiques[key].valid = false
|
||||
}
|
||||
for (let i = 1; i <= nbCaracteristiques; i++) {
|
||||
formData.system.caracteristiques[`carac${i}`].valid = true
|
||||
}
|
||||
formData.hasQuestionnaire = game.system.tedeum.config.etapesEducation[formData.system.etape].hasQuestionnaire;
|
||||
formData.hasMultiplier = game.system.tedeum.config.etapesEducation[formData.system.etape].hasMultiplier;
|
||||
formData.hasQuestionnaire = etape.hasQuestionnaire;
|
||||
formData.hasMultiplier = etape.hasMultiplier;
|
||||
formData.hasDebouches = etape.hasDebouches;
|
||||
formData.canCompetencesOpt = etape.canCompetencesOpt;
|
||||
}
|
||||
|
||||
/*-------------------------------------------- */
|
||||
@ -183,7 +227,8 @@ export class TeDeumUtility {
|
||||
const templatePaths = [
|
||||
'systems/fvtt-te-deum/templates/actors/editor-notes-gm.hbs',
|
||||
'systems/fvtt-te-deum/templates/items/partial-item-nav.hbs',
|
||||
'systems/fvtt-te-deum/templates/items/partial-item-description.hbs'
|
||||
'systems/fvtt-te-deum/templates/items/partial-item-description.hbs',
|
||||
'systems/fvtt-te-deum/templates/dialogs/partial-creator-status.hbs'
|
||||
]
|
||||
return loadTemplates(templatePaths);
|
||||
}
|
||||
@ -416,13 +461,13 @@ export class TeDeumUtility {
|
||||
await this.getLocalisation(rollData)
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
let bDegats = actor.getBonusDegats()
|
||||
let degatsRoll = await new Roll(rollData.arme.system.degats+"+"+bDegats.value ).roll()
|
||||
let degatsRoll = await new Roll(rollData.arme.system.degats + "+" + bDegats.value).roll()
|
||||
await this.showDiceSoNice(degatsRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.degatsRoll = foundry.utils.duplicate(degatsRoll)
|
||||
rollData.degats = degatsRoll.total
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async processAttaqueDistance(rollData) {
|
||||
if (rollData.arme?.system.typeArme != "tir") {
|
||||
|
Reference in New Issue
Block a user