Autoformat

This commit is contained in:
Vincent Vandemeulebrouck 2021-03-15 00:05:56 +01:00
parent 372eb6d334
commit 57ec6403bb
2 changed files with 68 additions and 65 deletions

View File

@ -33,7 +33,7 @@ export class RdDActorSheet extends ActorSheet {
/* -------------------------------------------- */ /* -------------------------------------------- */
getData() { getData() {
let data = super.getData(); let data = super.getData();
if ( data.actor.type == 'creature' || data.actor.type == 'humanoide') return data; // Shortcut if (data.actor.type == 'creature' || data.actor.type == 'humanoide') return data; // Shortcut
data.data.editCaracComp = this.options.editCaracComp; data.data.editCaracComp = this.options.editCaracComp;
data.data.showCompNiveauBase = this.options.showCompNiveauBase; data.data.showCompNiveauBase = this.options.showCompNiveauBase;
@ -50,9 +50,9 @@ export class RdDActorSheet extends ActorSheet {
item => { item => {
let archetypeKey = (item.data.niveau_archetype < 0) ? 0 : item.data.niveau_archetype; let archetypeKey = (item.data.niveau_archetype < 0) ? 0 : item.data.niveau_archetype;
if (data.data.comptageArchetype[archetypeKey] == undefined) { if (data.data.comptageArchetype[archetypeKey] == undefined) {
data.data.comptageArchetype[archetypeKey] = { "niveau": archetypeKey, "nombreMax": 0, "nombre": 0}; data.data.comptageArchetype[archetypeKey] = { "niveau": archetypeKey, "nombreMax": 0, "nombre": 0 };
} }
data.data.comptageArchetype[archetypeKey].nombre = (data.data.comptageArchetype[archetypeKey]?.nombre??0) + 1; //Comptage archetype data.data.comptageArchetype[archetypeKey].nombre = (data.data.comptageArchetype[archetypeKey]?.nombre ?? 0) + 1; //Comptage archetype
item.data.xpNext = RdDItemCompetence.getCompetenceNextXp(item.data.niveau); item.data.xpNext = RdDItemCompetence.getCompetenceNextXp(item.data.niveau);
item.data.isLevelUp = item.data.xp >= item.data.xpNext; // Flag de niveau à MAJ item.data.isLevelUp = item.data.xp >= item.data.xpNext; // Flag de niveau à MAJ
//this.actor.checkCompetenceXP(item.name); // Petite vérification experience //this.actor.checkCompetenceXP(item.name); // Petite vérification experience
@ -68,7 +68,7 @@ export class RdDActorSheet extends ActorSheet {
for (let caracName in data.data.carac) { for (let caracName in data.data.carac) {
let currentCarac = data.data.carac[caracName]; let currentCarac = data.data.carac[caracName];
if (!currentCarac.derivee) { if (!currentCarac.derivee) {
sum += parseInt(currentCarac.value); sum += parseInt(currentCarac.value);
} }
currentCarac.xpNext = RdDUtility.getCaracNextXp(currentCarac.value); currentCarac.xpNext = RdDUtility.getCaracNextXp(currentCarac.value);
currentCarac.isLevelUp = (currentCarac.xp >= currentCarac.xpNext); currentCarac.isLevelUp = (currentCarac.xp >= currentCarac.xpNext);
@ -98,7 +98,7 @@ export class RdDActorSheet extends ActorSheet {
data.data.combat = duplicate(RdDUtility.checkNull(data.itemsByType['arme'])); data.data.combat = duplicate(RdDUtility.checkNull(data.itemsByType['arme']));
data.data.combat = RdDCombatManager.finalizeArmeList(data.data.combat, data.itemsByType.competence, data.data.carac); data.data.combat = RdDCombatManager.finalizeArmeList(data.data.combat, data.itemsByType.competence, data.data.carac);
data.esquive = { name: "Esquive", niveau: data.competenceByCategory?.melee.find(it => it.name == 'Esquive')?.data.niveau ?? -6}; data.esquive = { name: "Esquive", niveau: data.competenceByCategory?.melee.find(it => it.name == 'Esquive')?.data.niveau ?? -6 };
let corpsACorps = data.competenceByCategory?.melee.find(it => it.name == 'Corps à corps'); let corpsACorps = data.competenceByCategory?.melee.find(it => it.name == 'Corps à corps');
if (corpsACorps) { if (corpsACorps) {
let cc_init = RdDCombatManager.calculInitiative(corpsACorps.data.niveau, data.data.carac['melee'].value); let cc_init = RdDCombatManager.calculInitiative(corpsACorps.data.niveau, data.data.carac['melee'].value);
@ -113,7 +113,7 @@ export class RdDActorSheet extends ActorSheet {
// Mise à jour de l'encombrement total et du prix de l'équipement // Mise à jour de l'encombrement total et du prix de l'équipement
this.actor.computeEncombrementTotalEtMalusArmure(); this.actor.computeEncombrementTotalEtMalusArmure();
this.actor.computePrixTotalEquipement(); this.actor.computePrixTotalEquipement();
// Common data // Common data
data.data.competenceByCategory = data.competenceByCategory; data.data.competenceByCategory = data.competenceByCategory;
data.data.encTotal = this.actor.encTotal; data.data.encTotal = this.actor.encTotal;
@ -131,20 +131,20 @@ export class RdDActorSheet extends ActorSheet {
RdDUtility.filterItemsPerTypeForSheet(data); RdDUtility.filterItemsPerTypeForSheet(data);
data.data.sortReserve = data.data.reve.reserve.list; data.data.sortReserve = data.data.reve.reserve.list;
data.data.rencontres = duplicate(data.data.reve.rencontre.list); data.data.rencontres = duplicate(data.data.reve.rencontre.list);
data.data.caseSpeciales = data.itemsByType['casetmr']; data.data.caseSpeciales = data.itemsByType['casetmr'];
RdDUtility.buildArbreDeConteneur(this, data); RdDUtility.buildArbreDeConteneur(this, data);
data.data.surEncombrementMessage = (data.data.compteurs.surenc.value < 0) ? "Sur-Encombrement!" : ""; data.data.surEncombrementMessage = (data.data.compteurs.surenc.value < 0) ? "Sur-Encombrement!" : "";
data.data.vehiculesList = this.actor.buildVehiculesList(); data.data.vehiculesList = this.actor.buildVehiculesList();
data.data.monturesList = this.actor.buildMonturesList(); data.data.monturesList = this.actor.buildMonturesList();
data.data.suivantsList = this.actor.buildSuivantsList(); data.data.suivantsList = this.actor.buildSuivantsList();
return data; return data;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async _onDrop(event) { async _onDrop(event) {
let toSuper = await RdDUtility.processItemDropEvent(this, event); let toSuper = await RdDUtility.processItemDropEvent(this, event);
if ( toSuper) { if (toSuper) {
super._onDrop(event); super._onDrop(event);
} }
} }
@ -213,12 +213,12 @@ export class RdDActorSheet extends ActorSheet {
html.find('.item-delete').click(ev => { html.find('.item-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
RdDUtility.confirmerSuppression(this, li); RdDUtility.confirmerSuppression(this, li);
}); });
html.find('.subacteur-delete').click(ev => { html.find('.subacteur-delete').click(ev => {
const li = $(ev.currentTarget).parents(".item"); const li = $(ev.currentTarget).parents(".item");
RdDUtility.confirmerSuppressionSubacteur(this, li); RdDUtility.confirmerSuppressionSubacteur(this, li);
}); });
html.find('#encaisser-direct').click(ev => { html.find('#encaisser-direct').click(ev => {
this.actor.encaisser(); this.actor.encaisser();
}); });
@ -335,12 +335,12 @@ export class RdDActorSheet extends ActorSheet {
html.find('.subacteur-label a').click((event) => { html.find('.subacteur-label a').click((event) => {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
let actorId = li.data('actor-id'); let actorId = li.data('actor-id');
let actor = game.actors.get( actorId) ; let actor = game.actors.get(actorId);
if ( actor ) { if (actor) {
actor.sheet.render(true); actor.sheet.render(true);
} }
}); });
// Points de reve actuel // Points de reve actuel
html.find('.ptreve-actuel a').click((event) => { html.find('.ptreve-actuel a').click((event) => {
this.actor.rollCarac('reve-actuel'); this.actor.rollCarac('reve-actuel');

View File

@ -113,12 +113,12 @@ export class RdDActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
setRollWindowsOpened( flag ) { setRollWindowsOpened(flag) {
this.rollWindowsOpened = flag; this.rollWindowsOpened = flag;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
isRollWindowsOpened( ) { isRollWindowsOpened() {
return this.rollWindowsOpened; return this.rollWindowsOpened;
} }
@ -315,11 +315,11 @@ export class RdDActor extends Actor {
let reserve = duplicate(this.data.data.reve.reserve); let reserve = duplicate(this.data.data.reve.reserve);
let tmr = TMRUtility.getTMR(sortReserve.coord); let tmr = TMRUtility.getTMR(sortReserve.coord);
let index = reserve.list.findIndex(tmr.type == 'fleuve' let index = reserve.list.findIndex(tmr.type == 'fleuve'
? sort => (TMRUtility.getTMR(sort.coord).type == 'fleuve' && sort.sort.name == sortReserve.sort.name) ? sort => (TMRUtility.getTMR(sort.coord).type == 'fleuve' && sort.sort.name == sortReserve.sort.name)
: sort => (sort.coord == sortReserve.coord && sort.sort.name == sortReserve.sort.name) : sort => (sort.coord == sortReserve.coord && sort.sort.name == sortReserve.sort.name)
); );
if (index >=0 ) { if (index >= 0) {
reserve.list.splice(index,1); reserve.list.splice(index, 1);
await this.update({ "data.reve.reserve": reserve }); await this.update({ "data.reve.reserve": reserve });
} }
} }
@ -356,7 +356,7 @@ export class RdDActor extends Actor {
// On ne récupère un point de chance que si aucun appel à la chance dans la journée // On ne récupère un point de chance que si aucun appel à la chance dans la journée
let utilisationChance = duplicate(this.getFlag('foundryvtt-reve-de-dragon', 'utilisationChance') ?? false); let utilisationChance = duplicate(this.getFlag('foundryvtt-reve-de-dragon', 'utilisationChance') ?? false);
if ( !utilisationChance ) { if (!utilisationChance) {
await this.chanceActuelleIncDec(1); await this.chanceActuelleIncDec(1);
} }
await this.unsetFlag('foundryvtt-reve-de-dragon', 'utilisationChance'); // Nouveau jour, suppression du flag await this.unsetFlag('foundryvtt-reve-de-dragon', 'utilisationChance'); // Nouveau jour, suppression du flag
@ -489,7 +489,7 @@ export class RdDActor extends Actor {
async dormir(heures = 1) { async dormir(heures = 1) {
let message = { let message = {
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name), whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
content: `${this.name}: Vous dormez ${heures == 1 ? 'une': heures} heure${heures == 1 ? '': 's'}.` content: `${this.name}: Vous dormez ${heures == 1 ? 'une' : heures} heure${heures == 1 ? '' : 's'}.`
}; };
await this.recupereEndurance(message); await this.recupereEndurance(message);
for (let i = 0; i < heures; i++) { for (let i = 0; i < heures; i++) {
@ -1121,7 +1121,7 @@ export class RdDActor extends Actor {
queue = await RdDRollTables.getOmbre(); queue = await RdDRollTables.getOmbre();
let myReve = duplicate(this.data.data.reve.reve); let myReve = duplicate(this.data.data.reve.reve);
myReve.thanatosused = false; myReve.thanatosused = false;
await this.update({ "data.reve.reve": myReve } ); await this.update({ "data.reve.reve": myReve });
} }
else { else {
queue = await RdDRollTables.getQueue(); queue = await RdDRollTables.getQueue();
@ -1143,7 +1143,7 @@ export class RdDActor extends Actor {
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name) whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name)
}); });
const innaccessible = this.buildTMRInnaccessible(); const innaccessible = this.buildTMRInnaccessible();
let tmr = TMRUtility.getTMRAleatoire(tmr => !innaccessible.includes(tmr.coord) ); let tmr = TMRUtility.getTMRAleatoire(tmr => !innaccessible.includes(tmr.coord));
this.updateCoordTMR(tmr.coord); this.updateCoordTMR(tmr.coord);
return tmr; return tmr;
} }
@ -1218,8 +1218,8 @@ export class RdDActor extends Actor {
let list = duplicate(this.data.data.reve.rencontre.list); let list = duplicate(this.data.data.reve.rencontre.list);
let newList = []; let newList = [];
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
if ( i != rencontreKey) if (i != rencontreKey)
newList.push( list[i]); newList.push(list[i]);
} }
await this.update({ "data.reve.rencontre.list": newList }); await this.update({ "data.reve.rencontre.list": newList });
} }
@ -1270,13 +1270,13 @@ export class RdDActor extends Actor {
getSonneRound() { getSonneRound() {
return !this.isEntiteCauchemar() && (this.data.data.sante.sonne?.round ?? false); return !this.isEntiteCauchemar() && (this.data.data.sante.sonne?.round ?? false);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async verifierSonneRound( round ) { async verifierSonneRound(round) {
if ( this.getSonne() ) { if (this.getSonne()) {
if ( round >= this.getSonneRound() + 1) { if (round >= this.getSonneRound() + 1) {
await this.setSonne( false, -1 ); // Nettoyer l'état sonné await this.setSonne(false, -1); // Nettoyer l'état sonné
ChatMessage.create( { content: `${this.name} n'est plus sonné ce round !`} ); ChatMessage.create({ content: `${this.name} n'est plus sonné ce round !` });
} }
} }
} }
@ -1322,10 +1322,10 @@ export class RdDActor extends Actor {
if (roll.total == 1) { if (roll.total == 1) {
let xp = Misc.toInt(this.data.data.carac.constitution.xp) + 1; let xp = Misc.toInt(this.data.data.carac.constitution.xp) + 1;
this.update({ "data.carac.constitution.xp": xp }); // +1 XP ! this.update({ "data.carac.constitution.xp": xp }); // +1 XP !
ChatMessage.create( { content: `${this.name} a obenu 1 sur son Jet d'Endurance et a gagné 1 point d'Expérience en Constitution. Ce point d'XP a été ajouté automatiquement).`}); ChatMessage.create({ content: `${this.name} a obenu 1 sur son Jet d'Endurance et a gagné 1 point d'Expérience en Constitution. Ce point d'XP a été ajouté automatiquement).` });
} }
if (result.sonne) { if (result.sonne) {
await this.setSonne(); await this.setSonne();
sante.sonne.value = true; sante.sonne.value = true;
} }
@ -1700,7 +1700,7 @@ export class RdDActor extends Actor {
action: r => this._appliquerAjoutExperience(r, game.settings.get("core", "rollMode") != 'blindroll') action: r => this._appliquerAjoutExperience(r, game.settings.get("core", "rollMode") != 'blindroll')
}; };
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
createCallbackAppelAuMoral() { /* Si l'appel au moral est utilisé, on l'affiche dans le chat et on diminue éventuellement le moral */ createCallbackAppelAuMoral() { /* Si l'appel au moral est utilisé, on l'affiche dans le chat et on diminue éventuellement le moral */
return { return {
@ -1708,7 +1708,7 @@ export class RdDActor extends Actor {
action: r => { this.displayAppelAuMoral ; this._appliquerAppelMoral(r, game.settings.get("core", "rollMode") != 'blindroll') } action: r => { this.displayAppelAuMoral ; this._appliquerAppelMoral(r, game.settings.get("core", "rollMode") != 'blindroll') }
}; };
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async checkCaracXP(caracName) { async checkCaracXP(caracName) {
let carac = this.data.data.carac[caracName]; let carac = this.data.data.carac[caracName];
@ -1778,8 +1778,8 @@ export class RdDActor extends Actor {
if (xpResult && xpResult.xpCarac > 0 && rollData.selectedCarac) { if (xpResult && xpResult.xpCarac > 0 && rollData.selectedCarac) {
this.checkCaracXP(rollData.selectedCarac.name); this.checkCaracXP(rollData.selectedCarac.name);
} }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async _appliquerAppelMoral(rollData, display = true) { async _appliquerAppelMoral(rollData, display = true) {
if (!this.isPersonnage()) return; if (!this.isPersonnage()) return;
@ -1956,7 +1956,7 @@ export class RdDActor extends Actor {
if (rollData.isSortReserve) { if (rollData.isSortReserve) {
rollData.depenseReve++; rollData.depenseReve++;
} }
if ( rollData.competence.name.includes('Thanatos')) { // Si Thanatos if (rollData.competence.name.includes('Thanatos')) { // Si Thanatos
myReve.thanatosused = true; myReve.thanatosused = true;
} }
if (myReve.value > rollData.depenseReve) { if (myReve.value > rollData.depenseReve) {
@ -2128,7 +2128,7 @@ export class RdDActor extends Actor {
selectedCarac: duplicate(this.data.data.carac[selected]) selectedCarac: duplicate(this.data.data.carac[selected])
}); });
artData.competence.data.defaut_carac = selected; artData.competence.data.defaut_carac = selected;
if ( !artData.forceCarac ) { if (!artData.forceCarac) {
artData.forceCarac = {}; artData.forceCarac = {};
artData.forceCarac[selected] = duplicate(this.data.data.carac[selected]); artData.forceCarac[selected] = duplicate(this.data.data.carac[selected]);
} }
@ -2168,17 +2168,17 @@ export class RdDActor extends Actor {
const artData = { art: 'danse', verbe: 'Danser', forceCarac: {} }; const artData = { art: 'danse', verbe: 'Danser', forceCarac: {} };
const oeuvre = duplicate(this.getOeuvre(id, artData.art)); const oeuvre = duplicate(this.getOeuvre(id, artData.art));
const selectedCarac = this._getCaracDanse(oeuvre); const selectedCarac = this._getCaracDanse(oeuvre);
if ( oeuvre.data.agilite) { if (oeuvre.data.agilite) {
artData.forceCarac['agilite'] = duplicate(this.data.data.carac.agilite ); artData.forceCarac['agilite'] = duplicate(this.data.data.carac.agilite);
} }
if ( oeuvre.data.apparence) { if (oeuvre.data.apparence) {
artData.forceCarac['apparence'] = duplicate(this.data.data.carac.apparence ); artData.forceCarac['apparence'] = duplicate(this.data.data.carac.apparence);
} }
await this._rollArt(artData, selectedCarac, oeuvre); await this._rollArt(artData, selectedCarac, oeuvre);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
_getCaracDanse(oeuvre) { _getCaracDanse(oeuvre) {
if (oeuvre.data.agilite) { return "agilite"; } if (oeuvre.data.agilite) { return "agilite"; }
else if (oeuvre.data.apparence) { return "apparence"; } else if (oeuvre.data.apparence) { return "apparence"; }
const competence = this.getCompetence(oeuvre.data.competence); const competence = this.getCompetence(oeuvre.data.competence);
@ -2289,7 +2289,7 @@ export class RdDActor extends Actor {
async rollAppelChance(onSuccess = () => { }, onEchec = () => { }) { async rollAppelChance(onSuccess = () => { }, onEchec = () => { }) {
// Stocke si utilisation de la chance // Stocke si utilisation de la chance
await this.unsetFlag('foundryvtt-reve-de-dragon', 'utilisationChance'); await this.unsetFlag('foundryvtt-reve-de-dragon', 'utilisationChance');
await this.setFlag('foundryvtt-reve-de-dragon', 'utilisationChance', true ); await this.setFlag('foundryvtt-reve-de-dragon', 'utilisationChance', true);
let rollData = { selectedCarac: this.getCaracByName('chance-actuelle'), surprise: '' }; let rollData = { selectedCarac: this.getCaracByName('chance-actuelle'), surprise: '' };
const dialog = await RdDRoll.create(this, rollData, const dialog = await RdDRoll.create(this, rollData,
@ -2556,10 +2556,12 @@ export class RdDActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
verifierForceMin( item ) { verifierForceMin(item) {
if ( item.type == 'arme' && item.data.force > this.data.data.carac.force.value ) { if (item.type == 'arme' && item.data.force > this.data.data.carac.force.value) {
ChatMessage.create( { content: `<strong>${this.name} s'est équipé(e) de l'arme ${item.name}, mais n'a pas une force suffisante pour l'utiliser normalement </strong> ChatMessage.create({
(${item.data.force} nécessaire pour une Force de ${this.data.data.carac.force.value})` } ); content: `<strong>${this.name} s'est équipé(e) de l'arme ${item.name}, mais n'a pas une force suffisante pour l'utiliser normalement </strong>
(${item.data.force} nécessaire pour une Force de ${this.data.data.carac.force.value})`
});
} }
} }
@ -2571,8 +2573,8 @@ export class RdDActor extends Actor {
await this.updateEmbeddedEntity("OwnedItem", update); await this.updateEmbeddedEntity("OwnedItem", update);
this.computeEncombrementTotalEtMalusArmure(); // Mise à jour encombrement this.computeEncombrementTotalEtMalusArmure(); // Mise à jour encombrement
this.computePrixTotalEquipement(); // Mis à jour du prix total de l'équipement this.computePrixTotalEquipement(); // Mis à jour du prix total de l'équipement
if ( item.data.data.equipe ) if (item.data.data.equipe)
this.verifierForceMin( item.data ); this.verifierForceMin(item.data);
} }
} }
@ -2593,10 +2595,10 @@ export class RdDActor extends Actor {
protection = Math.max(protection - penetration, 0); protection = Math.max(protection - penetration, 0);
protection += this.getProtectionNaturelle(); protection += this.getProtectionNaturelle();
// Gestion des cas particuliers sur la fenêtre d'encaissement // Gestion des cas particuliers sur la fenêtre d'encaissement
if ( attackerRoll.dmg.encaisserSpecial && attackerRoll.dmg.encaisserSpecial == "noarmure") { if (attackerRoll.dmg.encaisserSpecial && attackerRoll.dmg.encaisserSpecial == "noarmure") {
protection = 0; protection = 0;
} }
if ( attackerRoll.dmg.encaisserSpecial && attackerRoll.dmg.encaisserSpecial == "chute" && Number(protection) > 2) { if (attackerRoll.dmg.encaisserSpecial && attackerRoll.dmg.encaisserSpecial == "chute" && Number(protection) > 2) {
protection = 2; protection = 2;
} }
console.log("Final protect", protection, attackerRoll); console.log("Final protect", protection, attackerRoll);
@ -2693,7 +2695,7 @@ export class RdDActor extends Actor {
let encaissement = RdDUtility.selectEncaissement(jetTotal, rollData.dmg.mortalite) let encaissement = RdDUtility.selectEncaissement(jetTotal, rollData.dmg.mortalite)
let over20 = Math.max(jetTotal - 20, 0); let over20 = Math.max(jetTotal - 20, 0);
encaissement.dmg = rollData.dmg; encaissement.dmg = rollData.dmg;
encaissement.dmg.loc = rollData.dmg.loc ?? RdDUtility.getLocalisation( this.data.type ); encaissement.dmg.loc = rollData.dmg.loc ?? RdDUtility.getLocalisation(this.data.type);
encaissement.dmg.loc.label = encaissement.dmg.loc.label ?? 'Corps;' encaissement.dmg.loc.label = encaissement.dmg.loc.label ?? 'Corps;'
encaissement.roll = roll; encaissement.roll = roll;
encaissement.armure = armure; encaissement.armure = armure;
@ -2782,26 +2784,26 @@ export class RdDActor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async resetItemUse( ) { async resetItemUse() {
await this.unsetFlag('foundryvtt-reve-de-dragon', 'itemUse'); await this.unsetFlag('foundryvtt-reve-de-dragon', 'itemUse');
await this.setFlag('foundryvtt-reve-de-dragon', 'itemUse', {} ); await this.setFlag('foundryvtt-reve-de-dragon', 'itemUse', {});
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async incDecItemUse( itemId, inc = 1 ) { async incDecItemUse(itemId, inc = 1) {
let itemUse = duplicate(this.getFlag('foundryvtt-reve-de-dragon', 'itemUse') ?? {}); let itemUse = duplicate(this.getFlag('foundryvtt-reve-de-dragon', 'itemUse') ?? {});
itemUse[itemId] = (itemUse[itemId] ?? 0) + inc; itemUse[itemId] = (itemUse[itemId] ?? 0) + inc;
await this.setFlag( 'foundryvtt-reve-de-dragon', 'itemUse', itemUse); await this.setFlag('foundryvtt-reve-de-dragon', 'itemUse', itemUse);
console.log("ITEM USE INC", inc, itemUse); console.log("ITEM USE INC", inc, itemUse);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getItemUse( itemId ) { getItemUse(itemId) {
let itemUse = this.getFlag('foundryvtt-reve-de-dragon', 'itemUse') ?? {}; let itemUse = this.getFlag('foundryvtt-reve-de-dragon', 'itemUse') ?? {};
console.log("ITEM USE GET", itemUse); console.log("ITEM USE GET", itemUse);
return itemUse[itemId] ?? 0; return itemUse[itemId] ?? 0;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
/* -- entites -- */ /* -- entites -- */
/* retourne true si on peut continuer, false si on ne peut pas continuer */ /* retourne true si on peut continuer, false si on ne peut pas continuer */
@ -3210,10 +3212,11 @@ export class RdDActor extends Actor {
} }
} }
notifyGestionTeteSouffleQueue(item, manualMessage=true){ notifyGestionTeteSouffleQueue(item, manualMessage = true) {
ChatMessage.create({ ChatMessage.create({
whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name), whisper: ChatUtility.getWhisperRecipientsAndGMs(game.user.name),
content: `${this.name} a reçu un/une ${item.type}: ${item.name}, qui ${manualMessage ? "n'est pas" : "est" } géré automatiquement. ${manualMessage ?? ''}` content: `${this.name} a reçu un/une ${item.type}: ${item.name}, qui ${manualMessage ? "n'est pas" : "est"} géré automatiquement. ${manualMessage ?? ''}`
}); });
}} }
}