Files
foundryvtt-reve-de-dragon/module/technical/actor-token.mjs
T
fabres a5843888c0 fix: migration V14 et corrections diverses
migration v14:
- remplace CONFIG.Dice.rollModes → CONFIG.ChatMessage.modes
- canvas optionnel (?.tokens) dans ~27 fichiers
- async/await migrations, waitForRoll, effet draconique
- supprime _warnedAppV1, data-message-id→data-document-id
- corrige sheet registration Items.registerSheet

tmr:
- bouton Lancer un Sort visible en mode visu
- _ensureTMRButtons() en fallback JS
- await d'animation avant render
- corrigé doublon carteTMR.js

css:
- scrollbar (.item-sheet-scrollable-body) sur les 44 fiches item
- normalisation multiligne de tous les less/item/*.less
- style du dialogue description aléatoire (app-personnage-aleatoire)
- hr-sorts et sort réserves en flex-row

dialogue description:
- type=button sur les boutons (évite submit form → crash)
- randomControl passe this.actor au lieu de this.current
- DEFINITION_HEURES : ajout propriété manquante heure

d意:
- supprime 6 fichiers debug (phase*.txt/png, sheets-*.txt/png)
- system.json nom anglais→français
- token-hud : guard token undefined
- item-sort.js : guard sort?.system dans helpers Handlebars
2026-07-22 00:29:56 +02:00

44 lines
1.3 KiB
JavaScript

/**
* class providing the actor and token, and choosing the name and image from the token if available.
*/
export class TokenActor {
static fromTokenActor(token, actor){
return token ? TokenActor.fromToken(token) : TokenActor.fromActor(actor)
}
static fromActorId(actorId, onError = () => undefined) {
const controlled = canvas?.tokens?.controlled
actorId = actorId ?? (controlled?.length > 0
? controlled[0]?.actor?.id
: undefined)
const actor = actorId ? game.actors.get(actorId) : undefined
if (actor) {
return this.fromActor(actor)
}
return onError()
}
static fromActor(actor) {
const token = actor.isToken ? actor.token : actor.prototypeToken
return TokenActor.fromToken(token)
}
static fromTokenId(tokenId, sceneId = undefined) {
const tokensList = sceneId ? game.scenes.get(sceneId)?.tokens : canvas?.tokens?.placeables
const token = tokensList.get(tokenId)
return TokenActor.fromToken(token)
}
static fromToken(token) {
return new TokenActor(token)
}
constructor(token) {
this.name = token.name ?? token.actor.name
this.img = token.actor.isToken && token.texture.src ? token.texture.src : token.actor.img
this.actor = token.actor
this.id = token.actor?.id
this.token = token
this.tokenId = token?.id
}
}