import { tmrColors, tmrConstants, tmrTokenZIndex, TMRUtility } from "../tmr-utility.js"; import { Draconique } from "./draconique.js"; export class PontImpraticable extends Draconique { constructor() { super(); } type() { return 'souffle' } match(item) { return Draconique.isSouffleDragon(item) && item.name.toLowerCase().includes('impraticabilité des ponts'); } async onActorCreateOwned(actor, item) { await this._creerCaseTmr(actor); } async onActorDeleteOwned(actor, item) { await this._supprimerCaseTmr(actor); } code() { return 'pont-impraticable' } tooltip(linkData) { return `${this.tmrLabel(linkData)} impraticable` } img() { return 'systems/foundryvtt-reve-de-dragon/icons/tmr/wave.svg' } _createSprite(pixiTMR) { return pixiTMR.sprite(this.code(), { zIndex: tmrTokenZIndex.casehumide, color: tmrColors.casehumide, alpha: 0.5, taille: tmrConstants.twoThird, decallage: tmrConstants.bottom }); } async _creerCaseTmr(actor) { const ponts = TMRUtility.getListTMR('pont'); for (let tmr of ponts) { await this.createCaseTmr(actor, 'Pont impraticable: ' + tmr.label, tmr); } } async _supprimerCaseTmr(actor) { const existants = actor.data.items.filter(it => this.isCase(it)); for (let caseTMR of existants) { await actor.deleteOwnedItem(caseTMR._id); } } }