diff --git a/changelog.md b/changelog.md
index 8eae2d44..f6c18f52 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,4 +1,11 @@
# 12.0
+## 12.0.21 - La nomination d'Astrobazzarh
+- Les noms pour les messages dans le tchat sont maintenant ceux des tokens plutôt que ceux des acteurs
+- Fix: le choix des effets dans les options s'affiche correctement
+
+## 12.0.20 - Le tableau d'Astrobazzarh
+- Ecran d'accueil officiel Scriptarium
+
## 12.0.19 - La témérité d'Astrobazzarh
- Fix
- les défenses des créatures sont correctement filtrées
diff --git a/module/actor.js b/module/actor.js
index 848368ac..d0c962cf 100644
--- a/module/actor.js
+++ b/module/actor.js
@@ -181,7 +181,7 @@ export class RdDActor extends RdDBaseActorSang {
whisper: ChatUtility.getOwners(this),
content: await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-potionenchantee-chateaudormant.html`, {
pr: nouveauReve,
- alias: this.name,
+ alias: this.getAlias(),
potionName: it.name,
potionImg: it.img
})
@@ -1341,7 +1341,7 @@ export class RdDActor extends RdDBaseActorSang {
const etat = this.getEtatGeneral({ ethylisme: true });
const nbDoses = Number(this.system.compteurs.ethylisme.nb_doses || 0);
const ethylismeData = {
- alias: this.name,
+ alias: this.getAlias(),
actor: this,
vie: this.system.sante.vie.max,
alcool: alcool,
@@ -1426,7 +1426,7 @@ export class RdDActor extends RdDBaseActorSang {
const perteDissolution = Math.max(0, Math.min(dissolution, conversion));
let stressRollData = {
- alias: this.name,
+ alias: this.getAlias(),
selectedCarac: this.system.carac.reve,
rolled: stressRoll,
stress: fromStress,
@@ -1517,7 +1517,7 @@ export class RdDActor extends RdDBaseActorSang {
carac.value = niveauSuivant;
let checkXp = {
- alias: this.name,
+ alias: this.getAlias(),
carac: caracName,
value: niveauSuivant,
xp: carac.xp
@@ -1547,7 +1547,7 @@ export class RdDActor extends RdDBaseActorSang {
newCompData.system.niveau += 1;
newCompData.system.xp = newXP;
let checkXp = {
- alias: this.name,
+ alias: this.getAlias(),
competence: newCompData.name,
niveau: newCompData.system.niveau,
xp: newCompData.system.xp,
@@ -1784,7 +1784,7 @@ export class RdDActor extends RdDBaseActorSang {
}
const competence = this.getCompetence(compName);
let rollData = {
- alias: this.name,
+ alias: this.getAlias(),
caracValue: Number(carac.value),
selectedCarac: carac,
competence: competence,
@@ -1857,7 +1857,7 @@ export class RdDActor extends RdDBaseActorSang {
label: 'Jet ' + Grammar.apostrophe('de', competence.name),
template: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll-competence.html',
rollData: {
- alias: this.name,
+ alias: this.getAlias(),
carac: this.system.carac,
selectedCarac: this.getCaracByName(caracName),
selectedCaracName: caracName,
@@ -2930,7 +2930,7 @@ export class RdDActor extends RdDBaseActorSang {
let newQuantite = herbeData.system.quantite - herbeData.nbBrins;
let messageData = {
- alias: this.name,
+ alias: this.getAlias(),
nbBrinsReste: newQuantite,
potion: newPotion,
herbe: herbeData
diff --git a/module/actor/base-actor-reve.js b/module/actor/base-actor-reve.js
index 50680bb4..fbbf03ca 100644
--- a/module/actor/base-actor-reve.js
+++ b/module/actor/base-actor-reve.js
@@ -117,7 +117,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
for (let effect of this.getEffects()) {
if (effect.duration.type !== 'none' && (effect.duration.remaining <= 0 || options.terminer)) {
await effect.delete();
- ChatMessage.create({ content: `${this.name} n'est plus ${Misc.lowerFirst(game.i18n.localize(effect.system.label))} !` });
+ ChatMessage.create({ content: `${this.getAlias()} n'est plus ${Misc.lowerFirst(game.i18n.localize(effect.system.label))} !` });
}
}
}
@@ -288,7 +288,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
await this.openRollDialog({
name: `jet-${this.id}`,
- label: `Jet de ${this.name}`,
+ label: `Jet de ${this.getAlias()}`,
template: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll.html',
rollData: {
carac: carac,
@@ -463,7 +463,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
async $afficherEncaissement(encaissement, show, defenderToken) {
foundry.utils.mergeObject(encaissement, {
- alias: defenderToken?.name ?? this.name,
+ alias: defenderToken?.name ?? this.getAlias(),
hasPlayerOwner: this.hasPlayerOwner,
show: show ?? {}
}, { overwrite: false });
@@ -496,7 +496,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
}
const rolled = await RdDResolutionTable.roll(this.getReveActuel(), - Number(entite.system.carac.niveau.value));
const rollData = {
- alias: this.name,
+ alias: this.getAlias(),
rolled: rolled,
entite: entite.name,
selectedCarac: this.system.carac.reve
@@ -516,7 +516,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
isEntiteAccordee(attacker) { return true }
async setEntiteReveAccordee(actor) {
- ui.notifications.error("Impossible de s'accorder à " + this.name + ": ce n'est pas une entité incarnée");
+ ui.notifications.error("Impossible de s'accorder à " + this.getAlias() + ": ce n'est pas une entité incarnée");
}
}
diff --git a/module/actor/base-actor-sang.js b/module/actor/base-actor-sang.js
index 26a58350..45d84458 100644
--- a/module/actor/base-actor-sang.js
+++ b/module/actor/base-actor-sang.js
@@ -191,7 +191,7 @@ export class RdDBaseActorSang extends RdDBaseActorReve {
encaissement.mort = true;
ChatMessage.create({
content: `
- ${this.name} vient de succomber à une seconde blessure critique ! Que les Dragons gardent son Archétype en paix !`
+ ${this.getAlias()} vient de succomber à une seconde blessure critique ! Que les Dragons gardent son Archétype en paix !`
});
}
return blessure;
@@ -218,7 +218,7 @@ export class RdDBaseActorSang extends RdDBaseActorReve {
async jetDeVie() {
if (this.isDead()) {
ChatMessage.create({
- content: `Jet de Vie: ${this.name} est déjà mort, ce n'est pas la peine d'en rajouter !!!!!`,
+ content: `Jet de Vie: ${this.getAlias()} est déjà mort, ce n'est pas la peine d'en rajouter !!!!!`,
whisper: ChatUtility.getOwners(this)
})
return
@@ -242,7 +242,7 @@ export class RdDBaseActorSang extends RdDBaseActorReve {
await this.santeIncDec("vie", -perte);
}
if (this.isDead()) {
- msgText += `
${this.name} est mort !!!!`;
+ msgText += `
${this.getAlias()} est mort !!!!`;
}
else if (prochainJet > 0) {
msgText += `
Prochain jet de vie dans ${prochainJet} ${isCritique ? 'round' : 'minute'}${prochainJet > 1 ? 's' : ''} ${isCritique ? '(état critique)' : '(état grave)'}`
@@ -273,7 +273,7 @@ export class RdDBaseActorSang extends RdDBaseActorReve {
async setSonne(sonne = true) {
if (!game.combat && sonne) {
- ui.notifications.info(`${this.name} est hors combat, il ne reste donc pas sonné`);
+ ui.notifications.info(`${this.getAlias()} est hors combat, il ne reste donc pas sonné`);
return;
}
await this.setEffect(STATUSES.StatusStunned, sonne)
diff --git a/module/actor/base-actor.js b/module/actor/base-actor.js
index d84a9a20..349d1973 100644
--- a/module/actor/base-actor.js
+++ b/module/actor/base-actor.js
@@ -78,6 +78,13 @@ export class RdDBaseActor extends Actor {
return game.actors.get(actorId)
}
+ getAlias() {
+ if (this.token?.name != null && this.token != this.prototypeToken) {
+ return this.token.name
+ }
+ return this.name
+ }
+
isPersonnageJoueur() { return false }
static extractActorMin = (actor) => { return { id: actor?.id, type: actor?.type, name: actor?.name, img: actor?.img }; };
@@ -367,7 +374,7 @@ export class RdDBaseActor extends Actor {
chatAchatItem.quantiteTotal = quantite;
ChatMessage.create({
user: achat.userId,
- speaker: { alias: (acheteur ?? vendeur).name },
+ speaker: { alias: (acheteur ?? vendeur).getAlias() },
whisper: ChatUtility.getOwners(this),
content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-achat-item.html', chatAchatItem)
});
@@ -683,7 +690,7 @@ export class RdDBaseActor extends Actor {
type: this.type,
img: this.img,
pack: this.pack,
- name: this.name,
+ name: this.getAlias(),
system: { description: this.system.description }
}
renderTemplate('systems/foundryvtt-reve-de-dragon/templates/post-actor.html', chatData)
@@ -691,10 +698,10 @@ export class RdDBaseActor extends Actor {
}
actionImpossible(action) {
- ui.notifications.info(`${this.name} ne peut pas faire cette action: ${action}`)
+ ui.notifications.info(`${this.getAlias()} ne peut pas faire cette action: ${action}`)
}
- async roll() { this.actionImpossible("jet de caractéristiques") }
+
async jetEthylisme() { this.actionImpossible("jet d'éthylisme") }
async rollAppelChance() { this.actionImpossible("appel à la chance") }
async jetDeMoral() { this.actionImpossible("jet de moral") }
diff --git a/module/actor/commerce-sheet.js b/module/actor/commerce-sheet.js
index 2aed0d6b..7a305195 100644
--- a/module/actor/commerce-sheet.js
+++ b/module/actor/commerce-sheet.js
@@ -73,7 +73,7 @@ export class RdDCommerceSheet extends RdDBaseActorSheet {
}
const disponible = this.actor.getQuantiteDisponible(item)
if (disponible == 0) {
- ui.notifications.warn(`${this.name} n'a plus de ${item.name} en vente`);
+ ui.notifications.warn(`${this.getAlias()} n'a plus de ${item.name} en vente`);
return;
}
diff --git a/module/actor/random/app-personnage-aleatoire.js b/module/actor/random/app-personnage-aleatoire.js
index 47888d69..c4e23799 100644
--- a/module/actor/random/app-personnage-aleatoire.js
+++ b/module/actor/random/app-personnage-aleatoire.js
@@ -19,7 +19,7 @@ const PATHS = [
const RANDOM_VALUES = {
'system.sexe': { 'masculin': 1, 'féminin': 1 },
- 'system.main': { 'droitier': 51, 'gaucher': 15, 'ambidectre': 6 },
+ 'system.main': { 'droitier': 51, 'gaucher': 15, 'ambidextre': 6 },
'system.cheveux': { 'noirs': 2, 'bruns': 5, 'châtains clair': 5, 'blonds': 4, 'blonds très clair': 1, 'roux carotte': 1, 'roux cuivré': 3 },
'system.yeux': { 'noirs': 2, 'noisettes': 3, 'bruns vert': 4, 'verts': 3, 'bleus clair': 3, 'bleus gris': 2, 'gris': 1, 'mauves': 1, 'indigos': 1 },
}
diff --git a/module/dialog-create-signedraconique.js b/module/dialog-create-signedraconique.js
index 0f50f21c..40f90988 100644
--- a/module/dialog-create-signedraconique.js
+++ b/module/dialog-create-signedraconique.js
@@ -51,7 +51,7 @@ export class DialogCreateSigneDraconique extends Dialog {
whisper: ChatUtility.getOwners(actor),
content: await renderTemplate("systems/foundryvtt-reve-de-dragon/templates/chat-signe-draconique-actor.html", {
signe: signe,
- alias: actor.name
+ alias: actor.getAlias()
})
});
}
diff --git a/module/rdd-combat.js b/module/rdd-combat.js
index 6401f7a8..78c27dcb 100644
--- a/module/rdd-combat.js
+++ b/module/rdd-combat.js
@@ -133,10 +133,10 @@ export class RdDCombatManager extends Combat {
scene: canvas.scene._id,
actor: combatant.actor?._id,
token: combatant.token._id,
- alias: combatant.token.name,
+ alias: combatant.token?.name,
sound: CONFIG.sounds.dice,
},
- flavor: `${combatant.token.name} a fait son jet d'Initiative (${messageOptions.info})
`
+ flavor: `${combatant.token?.name} a fait son jet d'Initiative (${messageOptions.info})
`
},
messageOptions);
roll.toMessage(messageData, { rollMode, create: true });
@@ -252,7 +252,7 @@ export class RdDCombatManager extends Combat {
if (action && action.type == "arme") {
for (let initData of premierRoundInit) {
if (Grammar.toLowerCaseNoAccentNoSpace(action.system.initpremierround).includes(initData.pattern)) {
- let msg = `