Fix: affichage blessures et pertes
Les pertes et la récupération sont correctement gérées (en ne faisant qu'un seul render pour le personnage)
This commit is contained in:
@@ -285,14 +285,14 @@ export class RdDBaseActor extends Actor {
|
||||
return this.getEffects().filter(it => it.statuses.has(effectId))
|
||||
}
|
||||
|
||||
async setEffect(effectId, status) {
|
||||
async setEffect(effectId, status, options = {render: true}) {
|
||||
if (this.isEffectAllowed(effectId)) {
|
||||
const effects = this.getEffectsByStatus(effectId)
|
||||
if (!status && effects.length > 0) {
|
||||
await this.deleteEmbeddedDocuments('ActiveEffect', effects.map(it => it.id), { render: true })
|
||||
await this.deleteEmbeddedDocuments('ActiveEffect', effects.map(it => it.id), options)
|
||||
}
|
||||
if (status && effects.length == 0) {
|
||||
await this.createEmbeddedDocuments("ActiveEffect", [StatusEffects.prepareActiveEffect(effectId)], { render: true })
|
||||
await this.createEmbeddedDocuments("ActiveEffect", [StatusEffects.prepareActiveEffect(effectId)], options)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -301,13 +301,13 @@ export class RdDBaseActor extends Actor {
|
||||
this.removeEffects(it => it.id == id)
|
||||
}
|
||||
|
||||
async removeEffects(filter = e => true) {
|
||||
async removeEffects(filter = e => true, options = {render: true}) {
|
||||
if (game.user.isGM) {
|
||||
const ids = this.getEffects(filter)
|
||||
.filter(it => this.canRemoveEffects(it))
|
||||
.map(it => it.id)
|
||||
if (ids.length > 0) {
|
||||
await this.deleteEmbeddedDocuments('ActiveEffect', ids)
|
||||
await this.deleteEmbeddedDocuments('ActiveEffect', ids, options)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user