Gestion des signes draconiques #455

Closed
vincent.vandeme wants to merge 233 commits from v1.4-signes-draconiques into master
Showing only changes of commit 049b46e3cc - Show all commits

View File

@ -3063,7 +3063,8 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
enleverTousLesEffets() {
this.deleteEmbeddedEntity('ActiveEffect', Array.from(this.effects?.keys() ?? []));
const ids = Array.from(this.effects?.keys() ?? []);
this.deleteEmbeddedDocuments('ActiveEffect', ids);
}
/* -------------------------------------------- */
@ -3102,41 +3103,37 @@ export class RdDActor extends Actor {
}
/* -------------------------------------------- */
deleteStatusEffectById(id, options = { renderSheet: true }) {
deleteStatusEffectById(id) {
const effects = Array.from(this.effects?.values())
.filter(it => it.data.flags.core?.statusId == id);
this._deleteStatusEffects(effects, options);
this._deleteStatusEffects(effects);
}
/* -------------------------------------------- */
deleteStatusEffect(effect, options = { renderSheet: true }) {
deleteStatusEffect(effect) {
const toDelete = Array.from(this.effects?.values())
.filter(it => StatusEffects.statusId(it.data) == StatusEffects.statusId(effect));
this._deleteStatusEffects(toDelete, options);
this._deleteStatusEffects(toDelete);
}
/* -------------------------------------------- */
_deleteStatusEffects(effects, options) {
this._deleteStatusEffectsByIds(effects.map(it => it.id), options);
_deleteStatusEffects(effects) {
const ids = effects.map(it => it.id);
this.deleteEmbeddedDocuments('ActiveEffect', ids);
}
/* -------------------------------------------- */
_deleteStatusEffectsByIds(effectIds, options) {
this.deleteEmbeddedDocuments('ActiveEffect', [effectIds], options);
}
/* -------------------------------------------- */
async addStatusEffectById(id, options = { renderSheet: false }) {
async addStatusEffectById(id) {
const statusEffect = CONFIG.statusEffects.find(it => it.id == id);
await this.addStatusEffect(statusEffect, options);
await this.addStatusEffect(statusEffect);
}
/* -------------------------------------------- */
async addStatusEffect(statusEffect, options = { renderSheet: false }) {
this.deleteStatusEffectById(statusEffect.id, options);
async addStatusEffect(statusEffect) {
this.deleteStatusEffectById(statusEffect.id);
const effet = duplicate(statusEffect);
effet["flags.core.statusId"] = effet.id;
await this.createEmbeddedEntity('ActiveEffect', effet, options);
await this.createEmbeddedDocuments('ActiveEffect', [effet]);
}
/* -------------------------------------------- */