Compare commits

...

14 Commits

Author SHA1 Message Date
eb09714579 Version 11.2.8 2023-12-08 04:03:53 +01:00
62cc3fc96b Correction de l'ajustement de luminosité
On passe de la nuit début vaisseau au jour fin vaisseau
2023-12-08 04:00:17 +01:00
5e140546ea Les tooltips de compétences et l'expérience
Limitation du tooltip sur les compétences qui masquait les
informations d'expérience
2023-12-08 03:07:27 +01:00
ab9a21f402 Utilisation de get plutôt que find par id 2023-12-08 02:38:57 +01:00
8e41250f64 Affichage de cœur dans les ajustements 2023-12-08 02:38:23 +01:00
095eed9da3 Fix: éliminer le risque de jets qui plante
Bloquait les rencontres en TMR.

Quand un rollData ne contient pas les sous-noeuds pouvant être
utilisés par les ajustements possibles, le jet de dés était perdu.

Le calcul d'ajustements ajoute maintenant les noeuds use/ajustements
s'ils ne sont pas fournis, pour éviter le risque.
2023-12-08 02:37:47 +01:00
b5dc14687e Version 11.2.7 2023-12-04 02:35:47 +01:00
1208eb8ae1 Amélioration des tooltips
- title/alt remplacés par des data-tooltip
- description de ce que font les boutons
- description des items survolés
2023-12-04 02:32:26 +01:00
a68057900d Action de visualisation avec droits limités 2023-12-02 14:40:39 +01:00
6101bc91a6 Version 11.2.6 2023-11-27 23:49:43 +01:00
33ced5715d Le coeur s'applique à ChâteauDormant 2023-11-27 23:45:33 +01:00
50db9ba709 Fix Chateau Dormant pour les potions 2023-11-27 23:43:45 +01:00
957e31b188 Fix subacteurs 2023-11-27 14:32:39 +01:00
74571c9966 Correction sur Items 2023-11-26 22:51:33 +01:00
154 changed files with 475 additions and 407 deletions

View File

@ -1,9 +1,22 @@
# v11.2
## v11.2.2 - Les tendres moments d'Akarlikarlikar
- On peut maintenant avoir des points de cœur pour des suivants/compagnons
# 11.2
## 11.2.8 - L'éclairage d'Akarlikarlikar
- l'ajustement de la lumière jour/nuit s'étale sur moins de temps (vaisseau et Lyre)
- les nouveaux tooltips ne masquent plus l'information d'expérience
- les jets de dés pour maîtriser les rencontres fonctionnent de nouveau
## 11.2.7 - Les explications d'Akarlikarlikar
- Ajout de tooltips sur la plupart des boutons, liens clickables, objets, tâches, ...
- Fix: on peut de nouveau regarder l'inventaire avec les droits limités/observateur
## 11.2.6 - Les réveils difficiles d'Akarlikarlikar
- Les changements de points de Cœur sont temporaires jusqu'à fin Château Dormant
- Fix: tous les petits fixes (feuille qui s'ouvre plus, compagnons animaux, potions qui bloquent Château Dormant, ...)
## 11.2.2 - Les tendres moments d'Akarlikarlikar
- On peut maintenant avoir des points de Cœur pour des suivants/compagnons
- diminuer les points de coeurs fait perdre du moral
- on peut proposer un tendre moment
- les jets de volonté peuvent être ajustés selon les points de cœur
- les jets de volonté peuvent être ajustés selon les points de Cœur
- Fixes
- La résistance est de 1 par défaut pour les équipements
- Les armes de créatures sont de nouveau utilisables depuis les tokens

View File

@ -120,6 +120,18 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
HtmlUtility.showControlWhen(this.html.find(".appliquerFatigue"), ReglesOptionnelles.isUsing("appliquer-fatigue"));
this.html.find('.subacteur-open').click(async event => {
const subActorId = RdDSheetUtility.getEventItemData(event, 'subactor-id');
this.openSubActeur(subActorId);
})
this.html.find('.show-hide-competences').click(async event => {
this.options.showCompNiveauBase = !this.options.showCompNiveauBase;
this.render(true);
});
this.html.find('.visu-tmr').click(async event => this.actor.displayTMR("visu"))
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
@ -130,32 +142,18 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
this.html.find('.subacteur-coeur-toggle a').click(async event => {
const subActorIdactorId = RdDSheetUtility.getEventItemData(event, 'subactor-id')
const coeurNombre = $(event.currentTarget).data('coeur-nombre')
const coeurNombre = $(event.currentTarget).data('numero-coeur')
RdDCoeur.toggleSubActeurCoeur(this.actor.id, subActorIdactorId, coeurNombre)
})
this.html.find('.subacteur-tendre-moment').click(async event => {
const subActorId = RdDSheetUtility.getEventItemData(event, 'subactor-id')
RdDCoeur.startSubActeurTendreMoment(this.actor.id, subActorId)
})
this.html.find('.subacteur-open').click(async event => {
const subActorId = RdDSheetUtility.getEventItemData(event, 'subactor-id');
this.openSubActeur(subActorId);
})
this.html.find('.subacteur-delete').click(async event => {
const li = RdDSheetUtility.getEventElement(event);
const subActorId = li.data("subactor-id");
this.deleteSubActeur(subActorId, li);
})
this.html.find('.experiencelog-delete').click(async event => {
const li = this.html.find(event.currentTarget)?.parents(".experiencelog");
const key = Number(li.data("key") ?? -1);
await this.actor.deleteExperienceLog(key, 1);
});
this.html.find('.experiencelog-delete-previous').click(async event => {
const li = this.html.find(event.currentTarget)?.parents(".experiencelog");
const key = Number(li.data("key") ?? -1);
await this.actor.deleteExperienceLog(0, key + 1);
});
this.html.find("input.derivee-value[name='system.compteurs.stress.value']").change(async event => {
this.actor.updateCompteurValue("stress", parseInt(event.target.value));
});
@ -204,7 +202,18 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
this.html.find('.recettecuisine-label a').click(async event => this.actor.rollRecetteCuisine(RdDSheetUtility.getItemId(event)))
if (game.user.isGM) {
// Boutons spéciaux MJs
// experience log
this.html.find('.experiencelog-delete').click(async event => {
const li = this.html.find(event.currentTarget)?.parents(".experiencelog");
const key = Number(li.data("key") ?? -1);
await this.actor.deleteExperienceLog(key, 1);
});
this.html.find('.experiencelog-delete-previous').click(async event => {
const li = this.html.find(event.currentTarget)?.parents(".experiencelog");
const key = Number(li.data("key") ?? -1);
await this.actor.deleteExperienceLog(0, key + 1);
});
// Boutons spéciaux MJs
this.html.find('.forcer-tmr-aleatoire').click(async event => this.actor.reinsertionAleatoire("Action MJ"))
this.html.find('.afficher-tmr').click(async event => this.actor.changeTMRVisible())
}
@ -226,7 +235,6 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
});
// Display TMR
this.html.find('.visu-tmr').click(async event => this.actor.displayTMR("visu"))
this.html.find('.monte-tmr').click(async event => this.actor.displayTMR("normal"))
this.html.find('.monte-tmr-rapide').click(async event => this.actor.displayTMR("rapide"))
@ -264,12 +272,6 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
this.html.find('.nouvelle-incarnation').click(async event => this.actor.nouvelleIncarnation())
}
this.html.find('.show-hide-competences').click(async event => {
this.options.showCompNiveauBase = !this.options.showCompNiveauBase;
this.render(true);
});
// On pts de reve change
this.html.find('.pointsreve-value').change(async event => this.actor.update({ "system.reve.reve.value": event.currentTarget.value }))
this.html.find('.seuil-reve-value').change(async event => this.actor.setPointsDeSeuil(event.currentTarget.value))

View File

@ -34,6 +34,7 @@ import { RdDEmpoignade } from "./rdd-empoignade.js";
import { ExperienceLog, XP_TOPIC } from "./actor/experience-log.js";
import { TYPES } from "./item.js";
import { RdDBaseActorSang } from "./actor/base-actor-sang.js";
import { RdDCoeur } from "./coeur/rdd-coeur.js";
export const MAINS_DIRECTRICES = ['Droitier', 'Gaucher', 'Ambidextre']
@ -153,7 +154,7 @@ export class RdDActor extends RdDBaseActorSang {
let potions = this.itemTypes[TYPES.potion]
.filter(it => it.system.categorie.toLowerCase().includes('enchant') && !potion.system.prpermanent)
const potionUpdates = Promise.all(potions.map(async potion => {
const potionUpdates = await Promise.all(potions.map(async potion => {
console.log(potion)
let nouveauReve = (potion.system.pr > 0) ? potion.system.pr - 1 : 0;
const message = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-potionenchantee-chateaudormant.html`, {
@ -270,6 +271,7 @@ export class RdDActor extends RdDBaseActorSang {
await this.setBonusPotionSoin(0);
await this.retourSust(message);
await this.$perteRevePotionsEnchantees();
await RdDCoeur.applyCoeurChateauDormant(this, message)
if (message.content != "") {
message.content = `A la fin Chateau Dormant, ${message.content}<br>Un nouveau jour se lève`;
ChatMessage.create(message);
@ -2636,7 +2638,8 @@ export class RdDActor extends RdDBaseActorSang {
static $transformSubActeurSuivant = (suivant, link) => {
return mergeObject(RdDBaseActor.extractActorMin(suivant), {
ephemere: !suivant.prototypeToken.actorLink,
coeur: link.coeur ?? 0
coeur: link.coeur ?? 0,
prochainCoeur: link.prochainCoeur ?? link.coeur ?? 0
})
};
@ -2646,23 +2649,23 @@ export class RdDActor extends RdDBaseActorSang {
)
}
getSuivant(actorId) {
const suivant = this.system.subacteurs.suivants.find(it => it.id == actorId);
getSuivant(subActorId) {
const suivant = this.system.subacteurs.suivants.find(it => it.id == subActorId);
if (suivant) {
return RdDActor.$transformSubActeurSuivant(game.actors.get(actorId), suivant);
return RdDActor.$transformSubActeurSuivant(game.actors.get(suivant.id), suivant);
}
return undefined
}
getPointsCoeur(actorId) {
return this.getSuivant(actorId)?.coeur ?? 0;
getPointsCoeur(subActorId) {
return this.getSuivant(subActorId)?.coeur ?? 0;
}
async setPointsCoeur(actorId, coeur) {
const amoureux = this.getSuivant(actorId);
async setPointsCoeur(subActorId, coeurs, options = { immediat: false }) {
const newSuivants = duplicate(this.system.subacteurs.suivants)
const amoureux = newSuivants.find(it => it.id == subActorId);
if (amoureux) {
const suivants = this.system.subacteurs.suivants;
let newSuivants = [...suivants.filter(it => it.id != actorId), { id: actorId, coeur: coeur }]
amoureux[options.immediat ? 'coeur' : 'prochainCoeur'] = coeurs
await this.update({ 'system.subacteurs.suivants': newSuivants });
}
}
@ -2679,7 +2682,7 @@ export class RdDActor extends RdDBaseActorSang {
}
/* -------------------------------------------- */
static $transformSubActeurCreature = (actor, link) => RdDBaseActor.extractActorMin(actor.id)
static $transformSubActeurCreature = (actor, link) => RdDBaseActor.extractActorMin(actor)
listeMontures() {
return RdDActor.$buildSubActorLinks(this.system.subacteurs.montures, RdDActor.$transformSubActeurCreature);

View File

@ -189,7 +189,7 @@ export class RdDBaseActorSang extends RdDBaseActorReve {
this.setEffect(STATUSES.StatusComma, true);
encaissement.mort = true;
ChatMessage.create({
content: `<img class="chat-icon" src="icons/svg/skull.svg" alt="charge" />
content: `<img class="chat-icon" src="icons/svg/skull.svg" data-tooltip="charge" />
<strong>${this.name} vient de succomber à une seconde blessure critique ! Que les Dragons gardent son Archétype en paix !</strong>`
});
}

View File

@ -131,20 +131,14 @@ export class RdDBaseActorSheet extends ActorSheet {
super.activateListeners(html);
this.html = html;
if (!this.options.editable) return;
this.html.find('.item-action').click(async event => {
const item = RdDSheetUtility.getItem(event, this.actor);
item?.actionPrincipale(this.actor, async () => this.render())
});
this.html.find('.conteneur-name a').click(async event => {
RdDUtility.toggleAfficheContenu(this.getItemId(event));
this.render(true);
});
this.html.find('.actor-montrer').click(async event => this.actor.postActorToChat());
this.html.find('.item-edit').click(async event => this.getItem(event)?.sheet.render(true))
this.html.find('.item-montrer').click(async event => this.getItem(event)?.postItemToChat());
this.html.find('.actor-montrer').click(async event => this.actor.postActorToChat());
this.html.find('.recherche')
.each((index, field) => {
this._rechercheSelectArea(field);
@ -152,9 +146,16 @@ export class RdDBaseActorSheet extends ActorSheet {
.keyup(async event => this._rechercherKeyup(event))
.change(async event => this._rechercherKeyup(event));
this.html.find('.recherche').prop("disabled", false);
// Everything below here is only needed if the sheet is editable
if (!this.options.editable) return;
this.html.find('.item-action').click(async event => {
const item = RdDSheetUtility.getItem(event, this.actor);
item?.actionPrincipale(this.actor, async () => this.render())
});
this.html.find('.item-split').click(async event => {
const item = this.getItem(event);
RdDSheetUtility.splitItem(item, this.actor);

View File

@ -53,22 +53,46 @@ export class RdDCoeur {
static async toggleSubActeurCoeur(actorId, subActorId, toggleCoeur) {
const actor = game.actors.get(actorId)
if (ReglesOptionnelles.isUsing("chateau-dormant-gardien") && !actor.system.sommeil.nouveaujour) {
ui.notifications.warn(`Les changements de points de coeur se font juste avant de gérer Château Dormant, juste avant de passer à un nouveau jour`)
return
const amoureux = actor.getSuivant(subActorId)
if (toggleCoeur <= amoureux.coeur) {
if (toggleCoeur > amoureux.prochainCoeur) {
toggleCoeur = amoureux.coeur
}
else {
toggleCoeur = amoureux.coeur - 1
}
}
const coeur = actor.getPointsCoeur(subActorId);
if (toggleCoeur <= coeur) {
// TODO: validation?
await actor.moralIncDec(-4);
actor.setPointsCoeur(subActorId, Math.max(0, coeur - 1));
ChatMessage.create({
whisper: ChatUtility.getWhisperRecipientsAndGMs(actor.name),
content: `Perte de points de coeur arbitraire: ${actor.name} perd 4 points de moral, pour finir à ${actor.getMoralTotal()}.`
});
else if (toggleCoeur <= amoureux.prochainCoeur) {
toggleCoeur = Math.max(amoureux.coeur, toggleCoeur - 1)
}
else {
actor.setPointsCoeur(subActorId, Math.min(4, toggleCoeur));
actor.setPointsCoeur(subActorId, Math.max(0, Math.min(toggleCoeur, 4)))
}
static async applyCoeurChateauDormant(actor, message) {
const newSuivants = duplicate(actor.system.subacteurs.suivants)
let count = 0
newSuivants.forEach(async link => {
const suivant = game.actors.get(link.id)
const prochainCoeur = link.prochainCoeur ?? 0;
const coeurCourant = link.coeur ?? 0;
const diff = prochainCoeur - coeurCourant
if (diff < 0) {
await actor.moralIncDec(-4);
link.coeur = Math.max(0, coeurCourant - 1)
link.prochainCoeur = link.coeur
message.content += `<br>Votre c&oelig;ur brisé pour ${suivant.name} vous fait perdre 4 points de moral, il vous reste ${link.coeur} points de C&oelig;ur.`
count++
}
else if (diff > 0) {
link.coeur = Math.min(prochainCoeur, 4)
message.content += `<br>Votre c&oelig;ur bat fort, vous avez maintenant ${link.coeur} points de C&oelig;ur pour ${suivant.name}.`
link.prochainCoeur = link.coeur
count++
}
}
)
if (count > 0) {
await actor.update({ 'system.subacteurs.suivants': newSuivants });
}
}
@ -130,14 +154,13 @@ export class RdDCoeur {
? [infoCoeur.target, infoCoeur.source]
: [undefined, undefined]))
const subActorId = partenaire?.actor.id;
if (amoureux.perteCoeur) {
ui.notifications.warn(`Un point de coeur a déjà été perdu`)
ui.notifications.warn(`Le point de c&oelig;ur a déjà été perdu`)
}
else if (amoureux.coeur > 0) {
const actor = game.actors.get(actorId)
if (actor.isOwner) {
await actor.setPointsCoeur(subActorId, amoureux.coeur - 1)
await actor.setPointsCoeur(partenaire?.actor.id, amoureux.coeur - 1, { immediat: true })
amoureux.perteCoeur = true
RdDCoeur.addTagsInfoCoeur(infoCoeur)
}

View File

@ -22,6 +22,10 @@ export class Misc {
const isPositiveNumber = value != NaN && value > 0;
return isPositiveNumber ? "+" + number : number
}
static modulo(n, m) {
return ((n % m) + m) % m;
}
static sum() {
return (a, b) => Number(a) + Number(b);

View File

@ -515,7 +515,7 @@ export class RdDCombat {
static _callJetDeVie(event) {
let actorId = event.currentTarget.attributes['data-actorId'].value;
let tokenId = event.currentTarget.attributes['data-tokenId'].value;
let token = canvas.tokens.placeables.find(t => t.id == tokenId)
let token = canvas.tokens.get(tokenId)
const actor = token?.actor ?? game.actors.get(actorId);
if (actor?.isOwner) {
actor.jetDeVie();

View File

@ -53,7 +53,7 @@ export class RdDSheetUtility {
targetActorId: actor.id,
itemId: item.id,
sourceActorId: item.actor?.id,
sourceTokenId: item.actor.token?.id,
sourceTokenId: item.actor?.token?.id,
srcId: objetVersConteneur[item.id],
onEnleverConteneur: () => { delete objetVersConteneur[item.id]; },
onAjouterDansConteneur: (itemId, conteneurId) => { objetVersConteneur[itemId] = conteneurId; }

View File

@ -205,6 +205,7 @@ export class RdDUtility {
'systems/foundryvtt-reve-de-dragon/templates/enum-tmr-type.html',
// Partials
'systems/foundryvtt-reve-de-dragon/templates/coeur/chat-effet-tendre-moment.hbs',
'systems/foundryvtt-reve-de-dragon/templates/coeur/afficher-coeur.hbs',
'systems/foundryvtt-reve-de-dragon/templates/tirage/liste-resultats-recherche.hbs',
'systems/foundryvtt-reve-de-dragon/templates/time/horloge.hbs',
'systems/foundryvtt-reve-de-dragon/templates/common/timestamp.hbs',

View File

@ -64,27 +64,27 @@ export const referenceAjustements = {
},
encTotal: {
isVisible: (rollData, actor) => RdDCarac.isAgiliteOuDerobee(rollData.selectedCarac) && RdDItemCompetence.isMalusEncombrementTotal(rollData.competence),
isUsed: (rollData, actor) => !rollData.oeuvre && RdDCarac.isAgiliteOuDerobee(rollData.selectedCarac) && RdDItemCompetence.isMalusEncombrementTotal(rollData.competence) && rollData.use.encTotal,
isUsed: (rollData, actor) => !rollData.oeuvre && RdDCarac.isAgiliteOuDerobee(rollData.selectedCarac) && RdDItemCompetence.isMalusEncombrementTotal(rollData.competence) && rollData.use?.encTotal,
getLabel: (rollData, actor) => 'Encombrement total',
getValue: (rollData, actor) => -actor.getEncTotal()
},
surenc: {
isVisible: (rollData, actor) => RdDCarac.isActionPhysique(rollData.selectedCarac) && actor.isSurenc(),
isUsed: (rollData, actor) => rollData.use?.surenc && RdDCarac.isActionPhysique(rollData.selectedCarac),
isUsed: (rollData, actor) => rollData.use.surenc && RdDCarac.isActionPhysique(rollData.selectedCarac),
getLabel: (rollData, actor) => 'Sur-encombrement',
getValue: (rollData, actor) => actor.computeMalusSurEncombrement()
},
moral: {
isVisible: (rollData, actor) => actor.isPersonnage() && RdDCarac.isActionPhysique(rollData.selectedCarac) && rollData.use?.moral,
isUsed: (rollData, actor) => rollData.use?.moral,
isUsed: (rollData, actor) => rollData.use.moral,
getLabel: (rollData, actor) => 'Appel au moral',
getValue: (rollData, actor) => 1
},
coeur: {
isVisible: (rollData, actor) => actor.isPersonnage() && RdDCarac.isVolonte(rollData.selectedCarac),
isUsed: (rollData, actor) => rollData.use.coeur != undefined,
getLabel: (rollData, actor) => 'Ajustement de coeur',
getValue: (rollData, actor) => -2 * (rollData.use.coeur?.coeur ?? 0)
getLabel: (rollData, actor) => 'Ajustement de c&oelig;ur',
getValue: (rollData, actor) => -2 * (rollData.use?.coeur?.coeur ?? 0)
},
moralTotal: {
isUsed: (rollData, actor) => RdDCarac.isVolonte(rollData.selectedCarac),
@ -141,7 +141,7 @@ export const referenceAjustements = {
getLabel: (rollData, actor) => "Force de l'alcool: ",
getValue: (rollData, actor) => rollData.forceAlcool,
},
ethylisme:{
ethylisme: {
isVisible: (rollData, actor) => rollData.ethylisme != undefined,
isUsed: (rollData, actor) => rollData.ethylisme != undefined,
getLabel: (rollData, actor) => "Ethylisme - " + RdDUtility.getNomEthylisme(rollData.ethylisme),
@ -159,7 +159,9 @@ export class RollDataAjustements {
/* -------------------------------------------- */
static calcul(rollData, actor) {
rollData.ajustements = {};
// s'assurer de la correction des infos rollData
mergeObject(rollData, { ajustements: {}, use: {} }, { overwrite: false })
for (var key in referenceAjustements) {
const reference = referenceAjustements[key];
rollData.ajustements[key] = {

View File

@ -2,7 +2,6 @@ import { SHOW_DICE, SYSTEM_RDD } from "../constants.js";
import { Grammar } from "../grammar.js";
import { Misc } from "../misc.js";
import { RdDDice } from "../rdd-dice.js";
import { AutoAdjustDarkness } from "./auto-adjust-darkness.js";
export const WORLD_TIMESTAMP_SETTING = "calendrier";
@ -16,14 +15,14 @@ export const RDD_MINUTES_PAR_JOUR = 1440; //RDD_HEURES_PAR_JOUR * RDD_MINUTES_PA
const ROUNDS_PAR_MINUTE = 10;
const DEFINITION_HEURES = [
{ key: "vaisseau", label: "Vaisseau", lettreFont: 'v', saison: "Printemps" , darkness: 0.7},
{ key: "sirene", label: "Sirène", lettreFont: 'i', saison: "Printemps" , darkness: 0.4},
{ key: "faucon", label: "Faucon", lettreFont: 'f', saison: "Printemps" , darkness: 0},
{ key: "couronne", label: "Couronne", lettreFont: '', saison: "Eté" , darkness: 0},
{ key: "vaisseau", label: "Vaisseau", lettreFont: 'v', saison: "Printemps", darkness: 0.9 },
{ key: "sirene", label: "Sirène", lettreFont: 'i', saison: "Printemps", darkness: 0.1 },
{ key: "faucon", label: "Faucon", lettreFont: 'f', saison: "Printemps", darkness: 0 },
{ key: "couronne", label: "Couronne", lettreFont: '', saison: "Eté", darkness: 0 },
{ key: "dragon", label: "Dragon", lettreFont: 'd', saison: "Eté", darkness: 0 },
{ key: "epees", label: "Epées", lettreFont: 'e', saison: "Eté", darkness: 0},
{ key: "lyre", label: "Lyre", lettreFont: 'l', saison: "Automne", darkness: 0.4 },
{ key: "serpent", label: "Serpent", lettreFont: 's', saison: "Automne", darkness: 0.7 },
{ key: "epees", label: "Epées", lettreFont: 'e', saison: "Eté", darkness: 0 },
{ key: "lyre", label: "Lyre", lettreFont: 'l', saison: "Automne", darkness: 0.1 },
{ key: "serpent", label: "Serpent", lettreFont: 's', saison: "Automne", darkness: 0.9 },
{ key: "poissonacrobate", label: "Poisson Acrobate", lettreFont: 'p', saison: "Automne", darkness: 1 },
{ key: "araignee", label: "Araignée", lettreFont: 'a', saison: "Hiver", darkness: 1 },
{ key: "roseau", label: "Roseau", lettreFont: 'r', saison: "Hiver", darkness: 1 },
@ -98,10 +97,10 @@ export class RdDTimestamp {
*/
static definition(signe) {
if (signe == undefined) {
signe = 0;
signe = 0
}
if (Number.isInteger(signe)) {
return DEFINITION_HEURES[signe % RDD_HEURES_PAR_JOUR];
return DEFINITION_HEURES[Misc.modulo(signe, RDD_HEURES_PAR_JOUR)]
}
let definition = DEFINITION_HEURES.find(it => it.key == signe);
if (!definition) {
@ -115,14 +114,11 @@ export class RdDTimestamp {
}
static imgSigne(signe) {
return signe == undefined ? '' : `<img class="img-signe-heure" src="${signe.webp}" alt="${signe.label}" title="${signe.label}"/>`
return signe == undefined ? '' : `<img class="img-signe-heure" src="${signe.webp}" data-tooltip="${signe.label}"/>`
}
static ajustementAstrologiqueHeure(hn, nbAstral, heure) {
let ecart = (hn + nbAstral - heure) % RDD_HEURES_PAR_JOUR;
if (ecart < 0) {
ecart = (ecart + RDD_HEURES_PAR_JOUR) % RDD_HEURES_PAR_JOUR;
}
let ecart = Misc.modulo(hn + nbAstral - heure, RDD_HEURES_PAR_JOUR);
switch (ecart) {
case 0: return 4;
case 4: case 8: return 2;
@ -158,11 +154,13 @@ export class RdDTimestamp {
}
static defHeure(heure) {
return DEFINITION_HEURES.find(it => (it.heure) == heure % RDD_HEURES_PAR_JOUR);
heure = Misc.modulo(heure, RDD_HEURES_PAR_JOUR);
return DEFINITION_HEURES.find(it => it.heure == heure)
}
static findHeure(heure) {
heure = Grammar.toLowerCaseNoAccentNoSpace(heure);
let parHeureOuLabel = DEFINITION_HEURES.filter(it => (it.heure) == parseInt(heure) % RDD_HEURES_PAR_JOUR || Grammar.toLowerCaseNoAccentNoSpace(it.label) == heure);
let parHeureOuLabel = DEFINITION_HEURES.filter(it => Grammar.toLowerCaseNoAccentNoSpace(it.label) == heure || it.heure == Misc.modulo(parseInt(heure), RDD_HEURES_PAR_JOUR));
if (parHeureOuLabel.length == 1) {
return parHeureOuLabel[0];
}
@ -232,19 +230,19 @@ export class RdDTimestamp {
}
get annee() { return Math.floor(this.indexDate / RDD_JOURS_PAR_AN) }
get mois() { return Math.floor((this.indexDate % RDD_JOURS_PAR_AN) / RDD_JOURS_PAR_MOIS) }
get jour() { return (this.indexDate % RDD_JOURS_PAR_AN) % RDD_JOURS_PAR_MOIS }
get mois() { return Math.floor(Misc.modulo(this.indexDate, RDD_JOURS_PAR_AN) / RDD_JOURS_PAR_MOIS) }
get jour() { return Misc.modulo(Misc.modulo(this.indexDate, RDD_JOURS_PAR_AN), RDD_JOURS_PAR_MOIS) }
get heure() { return Math.floor(this.indexMinute / RDD_MINUTES_PAR_HEURES) }
get minute() { return this.indexMinute % RDD_MINUTES_PAR_HEURES }
get minute() { return Misc.modulo(this.indexMinute, RDD_MINUTES_PAR_HEURES) }
get round() { return ROUNDS_PAR_MINUTE * (this.indexMinute - Math.floor(this.indexMinute)) }
get angleHeure() { return this.indexMinute / RDD_MINUTES_PAR_JOUR * 360 - 45 }
get angleMinute() { return this.indexMinute / RDD_MINUTES_PAR_HEURES * 360 + 45 }
get darkness() {
const darknessDebut = RdDTimestamp.definition(this.heure).darkness *100
const darknessFin = RdDTimestamp.definition(this.heure + 1).darkness *100
const darknessDebut = 100 * RdDTimestamp.definition(this.heure).darkness
const darknessFin = 100 * RdDTimestamp.definition(this.heure + 1).darkness
const darknessMinute = Math.round((darknessFin - darknessDebut) * this.minute / RDD_MINUTES_PAR_HEURES);
return (darknessDebut + darknessMinute)/100
return (darknessDebut + darknessMinute) / 100
}
/**
@ -297,7 +295,7 @@ export class RdDTimestamp {
const heure = this.heure + heures;
return new RdDTimestamp({
indexDate: this.indexDate + Math.floor(heure / RDD_HEURES_PAR_JOUR),
indexMinute: this.indexMinute + (heure % RDD_HEURES_PAR_JOUR) * RDD_MINUTES_PAR_HEURES
indexMinute: this.indexMinute + Misc.modulo(heure, RDD_HEURES_PAR_JOUR) * RDD_MINUTES_PAR_HEURES
})
}
@ -347,7 +345,7 @@ export class RdDTimestamp {
return {
jours: jours,
heures: Math.floor(minutes / RDD_MINUTES_PAR_HEURES),
minutes: minutes % RDD_MINUTES_PAR_HEURES
minutes: Misc.modulo(minutes, RDD_MINUTES_PAR_HEURES)
}
}
}

View File

@ -1,8 +1,8 @@
{
"id": "foundryvtt-reve-de-dragon",
"title": "Rêve de Dragon",
"version": "11.2.4",
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-v11.2.4.zip",
"version": "11.2.8",
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-11.2.8.zip",
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v11/system.json",
"changelog": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/branch/v11/changelog.md",
"compatibility": {

View File

@ -4,14 +4,14 @@
<header class="sheet-header">
<div class="header-fields">
<div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<img class="profile-img" src="{{img}}" data-edit="img" data-tooltip="{{name}}" />
<div class="flexcol">
<div class="flexrow">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
<div class="header-buttons">
<span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span>
<span class="encaisser-direct"><a><img class="button-img" src="icons/svg/bones.svg" data-tooltip="Encaisser des dommages"/></a></span>
{{#if @root.options.isGM}}
<span class="remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span>
<span class="remise-a-neuf"><a><img class="button-img" src="icons/svg/regen.svg" data-tooltip="Remise à neuf"/></a></span>
{{/if}}
</div>
</div>

View File

@ -4,14 +4,14 @@
<header class="sheet-header">
<div class="header-fields">
<div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<img class="profile-img" src="{{img}}" data-edit="img" data-tooltip="{{name}}" />
<div class="flexcol">
<div class="flexrow">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
<div class="header-buttons">
<span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span>
<span class="encaisser-direct"><a><img class="button-img" src="icons/svg/bones.svg" data-tooltip="Encaisser des dommages"/></a></span>
{{#if @root.options.isGM}}
<span class="remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span>
<span class="remise-a-neuf"><a><img class="button-img" src="icons/svg/regen.svg" data-tooltip="Remise à neuf"/></a></span>
{{/if}}
</div>
</div>

View File

@ -10,7 +10,7 @@
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-buttons.html"}}
</div>
<div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<img class="profile-img" src="{{img}}" data-edit="img" data-tooltip="{{name}}" />
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-compteurs.html"}}
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-etat.html"}}
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-hautreve.html"}}
@ -22,14 +22,14 @@
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary">
{{#if options.isObserver}}
<a class="item" data-tab="carac">Carac.</a>
<a class="item" data-tab="competences">Compétences</a>
<a class="item" data-tab="combat">Combat</a>
<a class="item" data-tab="connaissances">Savoirs&Taches</a>
<a class="item" data-tab="hautreve">Haut-Rêve</a>
<a class="item" data-tab="carac" data-tooltip="Caractéristiques">Carac.</a>
<a class="item" data-tab="competences" data-tooltip="Caractéristiques">Compétences</a>
<a class="item" data-tab="combat" data-tooltip="Combat et santé">Combat</a>
<a class="item" data-tab="connaissances" data-tooltip="Savoirs et tâches">Savoirs&Taches</a>
<a class="item" data-tab="hautreve" data-tooltip="Haut-rêve">Haut-Rêve</a>
{{/if}}
<a class="item" data-tab="items">Équipement</a>
<a class="item" data-tab="description">Description</a>
<a class="item" data-tab="items" data-tooltip="Liste d'équipement">Équipement</a>
<a class="item" data-tab="description" data-tooltip="Description et compagnons">Description</a>
</nav>
{{!-- Sheet Body --}}

View File

@ -4,7 +4,7 @@
<header class="sheet-header">
<div class="header-fields">
<div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<img class="profile-img" src="{{img}}" data-edit="img" data-tooltip="{{name}}" />
<div class="flexcol">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
<div class="flexrow">

View File

@ -4,8 +4,8 @@
{{#each (trier recettesAlchimiques) as |recette id|}}
<li class="item flexrow list-item" data-item-id="{{recette._id}}"><span class="competence-title recette-label item-edit"><a>{{recette.name}}</a></span>
<div class="item-controls flex-shrink">
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -1,7 +1,7 @@
<li class="item item-blessure flexrow list-item blessure-active-{{lowercase system.label}}" data-item-id="{{id}}">
<li class="item item-blessure flexrow list-item blessure-active-{{lowercase system.label}}" data-item-id="{{id}}"
data-tooltip="Blessure {{system.label}}">
<span class="blessure-control">
<img class="sheet-competence-img" src="{{img}}" />
<i class="fas fa-skull-crossbones"></i>
{{system.label}}
</span>
{{#if (gt system.gravite 6)}}
@ -34,8 +34,8 @@
{{#if system.localisation}}<span>{{system.localisation}}</span>{{/if}}
</span>
<span class="item-controls">
<a class="item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-montrer" title="Montrer"><i class="fas fa-comment"></i></a>
<a class="item-edit" data-tooltip="Editer"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-montrer" data-tooltip="Montrer"><i class="fas fa-comment"></i></a>
</span>
</li>

View File

@ -1,8 +1,8 @@
<h4>blessures</h4>
<div>
<a class="chat-card-button creer-blessure-legere"><i class="fas fa-plus-circle"></i> légère</a>
<a class="chat-card-button creer-blessure-grave"><i class="fas fa-plus-circle"></i> grave</a>
<a class="chat-card-button creer-blessure-critique"><i class="fas fa-plus-circle"></i> critique</a>
<a class="chat-card-button creer-blessure-legere" data-tooltip="Ajouter une blessure légère"><i class="fas fa-plus-circle"></i> légère</a>
<a class="chat-card-button creer-blessure-grave" data-tooltip="Ajouter une blessure grave"><i class="fas fa-plus-circle"></i> grave</a>
<a class="chat-card-button creer-blessure-critique" data-tooltip="Ajouter une blessure critque"><i class="fas fa-plus-circle"></i> critique</a>
</div>
<ul class="item-list alterne-list">

View File

@ -7,7 +7,7 @@
<br>
<li class="caracteristique flexrow list-item">
<label class="flexrow derivee-label">{{system.compteurs.stress.label}}
<a class="stress-test" title="Transformer le stress"><i class="fa-regular fa-moon"></i></a>
<a class="stress-test" data-tooltip="Transformer le stress"><i class="fa-regular fa-moon"></i></a>
</label>
<input class="derivee-value" type="number" name="system.compteurs.stress.value" value="{{system.compteurs.stress.value}}" data-dtype="number"/>
</li>
@ -15,9 +15,9 @@
<label class="derivee-label">{{system.compteurs.moral.label}}
<span>
<a class="flex-shrink moral-malheureux" title="Jet de moral situation malheureuse"><i class="fa-regular fa-face-frown"></i></a>
<a class="flex-shrink moral-neutre" title="Jet de moral situation neutre"><i class="fa-regular fa-face-meh"></i></a>
<a class="flex-shrink moral-heureux" title="Jet de moral situation heureuse"><i class="fa-regular fa-face-smile"></i></a>
<a class="flex-shrink moral-malheureux" data-tooltip="Jet de moral situation malheureuse"><i class="fa-regular fa-face-frown"></i></a>
<a class="flex-shrink moral-neutre" data-tooltip="Jet de moral situation neutre"><i class="fa-regular fa-face-meh"></i></a>
<a class="flex-shrink moral-heureux" data-tooltip="Jet de moral situation heureuse"><i class="fa-regular fa-face-smile"></i></a>
</span>
</label>
<input class="derivee-value" type="number" name="system.compteurs.moral.value" value="{{system.compteurs.moral.value}}" data-dtype="number"/>
@ -29,7 +29,7 @@
<input class="derivee-value" type="number" name="system.compteurs.dissolution.value" value="{{system.compteurs.dissolution.value}}" data-dtype="number"/>
</li>
<li class="caracteristique flexrow list-item">
<label class="derivee-label chance-actuelle"><a>Chance actuelle</a></label>
<label class="derivee-label chance-actuelle" data-tooltip="Jet de chance actuelle"><a>Chance actuelle</a></label>
<input class="derivee-value" type="number" name="system.compteurs.chance.value" value="{{system.compteurs.chance.value}}" data-dtype="number"/>
</li>
<li class="caracteristique flexrow list-item">
@ -52,7 +52,7 @@
<label class="derivee-label" for="system.compteurs.eau.value">bu</label>
<input class="derivee-value" type="number" name="system.compteurs.eau.value" value="{{system.compteurs.eau.value}}" data-dtype="number"/>
</li>
<li class="caracteristique flexrow list-item">
<li class="caracteristique flexrow list-item" data-tooltip="Niveau d'éthylisme">
<label class="derivee-label" for="system.compteurs.ethylisme.value">{{system.compteurs.ethylisme.label}}</label>
<select class="derivee-value" name="system.compteurs.ethylisme.value" data-dtype="Number">
{{#select system.compteurs.ethylisme.value}}

View File

@ -17,7 +17,7 @@
Vous pouvez dépenser {{carac.xpNext}} points d'Experience pour augmenter de 1 votre caractéristique {{carac.label}}
</span>
<a name={{key}}>{{carac.label}}</a>
<a class="carac-xp-augmenter" name="augmenter.{{key}}" title="Augmenter">
<a class="carac-xp-augmenter" name="augmenter.{{key}}" data-tooltip="Augmenter la caractéristique avec l'expérience">
<i class="fas fa-arrow-alt-circle-up"></i>
</a>
</span>

View File

@ -1,21 +1,20 @@
<h4>Soins</h4>
<div>
<a class="chat-card-button creer-tache-blessure-legere"><i class="fas fa-first-aid"></i> légère</a>
<a class="chat-card-button creer-tache-blessure-grave"><i class="fas fa-first-aid"></i> grave</a>
<a class="chat-card-button creer-tache-blessure-critique"><i class="fas fa-first-aid"></i> critique</a>
<a class="chat-card-button creer-tache-blessure-legere" data-tooltip="Soigner une blessure légère"><i class="fas fa-first-aid"></i> légère</a>
<a class="chat-card-button creer-tache-blessure-grave" data-tooltip="Soigner une blessure grave"><i class="fas fa-first-aid"></i> grave</a>
<a class="chat-card-button creer-tache-blessure-critique" data-tooltip="Soigner une blessure critique"><i class="fas fa-first-aid"></i> critique</a>
</div>
<ul class="item-list alterne-list">
{{#each taches as |tache id|}}
{{#if (eq tache.system.competence 'Chirurgie')}}
<li class="item flexrow list-item" data-item-id="{{tache._id}}">
<img class="sheet-competence-img" src="{{tache.img}}" />
<li class="item flexrow list-item" data-item-id="{{tache._id}}"
data-tooltip="Premiers soins: {{tache.name}} ({{tache.system.points_de_tache_courant}}/{{tache.system.points_de_tache}})">
<img class="sheet-competence-img" src="{{tache.img}}"/>
<span class="competence-title tache-label"><a>{{tache.name}}
({{tache.system.points_de_tache_courant}}{{#if
(or @root.options.isGM (not tache.system.cacher_points_de_tache))
}}/{{tache.system.points_de_tache}}{{/if}})</a></span>
({{tache.system.points_de_tache_courant}}/{{tache.system.points_de_tache}})</a></span>
<div class="item-controls flex-shrink">
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/if}}

View File

@ -10,11 +10,12 @@
<li class="item flexrow list-item"
data-item-id="{{arme._id}}"
data-arme-name="{{arme.name}}"
data-competence-name="{{arme.system.competence}}" >
data-competence-name="{{arme.system.competence}}"
data-tooltip="{{arme.name}}: niveau {{plusMoins arme.system.niveau}}">
<span class="arme-label">
<a>
{{#if arme.img}}
<img class="sheet-competence-img" src="{{arme.img}}"/>
<img class="sheet-competence-img" src="{{arme.img}}" data-tooltip="{{arme.name}}"/>
{{/if}}
<span>{{arme.name}}</span>
</a>
@ -24,14 +25,15 @@
<span class="competence-value">{{plusMoins arme.system.niveau}}</span>
<span class="competence-value">{{plusMoins arme.system.dommagesReels}}</span>
<span class="competence-value"></span>
<span class="initiative-value arme-initiative"><a>{{arme.system.initiative}}</a></span>
<span class="initiative-value arme-initiative"><a data-tooltip="{{arme.name}}: initiative {{plusMoins arme.system.initiative}}">{{arme.system.initiative}}</a></span>
</li>
{{/each}}
{{#each esquives as |esq key|}}
<li class="item flexrow list-item" data-item-id="{{esq._id}}">
<li class="item flexrow list-item" data-item-id="{{esq._id}}"
data-tooltip="{{esq.name}}: niveau {{plusMoins esq.system.niveau}}">
<span class="competence-label">
<a class="competence-label" name="{{esq.name}}">
<img class="sheet-competence-img" src="{{esq.img}}"/>
<img class="sheet-competence-img" src="{{esq.img}}" />
<span>{{esq.name}}</span>
</a>
</span>
@ -50,7 +52,8 @@
</li>
{{#each empoignades as |emp key|}}
<li class="item flexrow list-item"
data-item-id="{{emp._id}}" data-arme-name="{{emp.name}}">
data-item-id="{{emp._id}}" data-arme-name="{{emp.name}}"
data-tooltip="{{emp.name}}: niveau {{plusMoins emp.system.niveau}}">
<span class="empoignade-label">
<a>
{{#if emp.img}}
@ -61,8 +64,8 @@
</span>
<span class="competence-value">{{emp.system.pointsemp}}</span>
<div class="item-controls">
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -6,11 +6,11 @@
<div class="flexrow">
{{#if token}}
{{#if options.isOwner}}
<img class="profile-img dimmed" src="{{img}}" data-edit="img" title="{{name}}" />
<img class="profile-img dimmed" src="{{img}}" data-edit="img"/>
{{/if}}
<img class="profile-img-token" src="{{token.img}}" title="{{name}}" />
<img class="profile-img-token" src="{{token.img}}"/>
{{else}}
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<img class="profile-img" src="{{img}}" data-edit="img"/>
{{/if}}
<div class="flexcol">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
@ -68,10 +68,10 @@
<input {{@root.disabled}} type="number" name="services[{{key}}].system.qualite" value="{{service.system.qualite}}" data-dtype="Number" min="-10" max="10"/>
<input {{@root.disabled}} type="number" class="input-prix" name="services[{{key}}].system.cout" value="{{numberFormat service.system.cout decimals=2 sign=false}}" data-dtype="Number" min="0" />
<div class="item-controls">
<a class="service-acheter" title="Acheter"><i class="fa-sharp fa-solid fa-coins"></i></a>
<a class="service-acheter" data-tooltip="Acheter"><i class="fa-sharp fa-solid fa-coins"></i></a>
{{#unless @root.disabled}}
<a class="service-vendre" title="Proposer"><i class="fas fa-comments-dollar"></i></a>
<a class="service-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="service-vendre" data-tooltip="Proposer"><i class="fas fa-comments-dollar"></i></a>
<a class="service-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
{{/unless}}
</div>
</li>

View File

@ -9,7 +9,7 @@
{{else}}far fa-plus-square
{{/if~}}"></i>
{{/if}}
<img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/>
<img class="sheet-competence-img" src="{{item.img}}" data-tooltip="{{item.name}}"/>
<span>{{item.name}}</span>
</a>
</span>
@ -41,19 +41,19 @@
</span>
<span class="equipement-actions item-controls">
{{#if options.isOwner}}
<a class="item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-edit" data-tooltip="Editer"><i class="fas fa-edit"></i></a>
{{#unless (and (eq item.type 'conteneur') (not vide))}}
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
{{#if (or item.parent.system.illimite (ne item.system.quantite 0))}}
<a class="item-vendre" title="Vendre"><i class="fas fa-comments-dollar"></i></a>
<a class="item-vendre" data-tooltip="Vendre"><i class="fas fa-comments-dollar"></i></a>
{{/if}}
{{/unless}}
{{/if}}
{{#unless (and (eq item.type 'conteneur') (not vide))}}
{{#if (or item.parent.system.illimite (gt item.system.quantite 0))}}
<a class="item-acheter" title="Acheter"><i class="fa-regular fa-coins"></i></a>
<a class="item-acheter" data-tooltip="Acheter"><i class="fa-regular fa-coins"></i></a>
{{/if}}
<a class="item-montrer" title="Montrer"><i class="fas fa-comment"></i></a>
<a class="item-montrer" data-tooltip="Montrer"><i class="fas fa-comment"></i></a>
{{/unless}}
</span>
</li>

View File

@ -1,7 +1,7 @@
<h4>Boutique</h4>
<span class="item-name">
{{#if options.isGM}}
<a class="chat-card-button creer-un-objet">Nouvel objet</a>
<a class="chat-card-button creer-un-objet" data-tooltip="Créer un nouvel objet dans la boutique">Nouvel objet</a>
<a class="chat-card-button nettoyer-conteneurs">Tout vider</a>
{{/if}}
<span class="embed-inline">

View File

@ -2,7 +2,7 @@
{{#each (trier competences) as |comp key|}}
<li class="item flexrow list-item" data-item-id="{{comp._id}}">
<a class="competence-label">
<img class="sheet-competence-img" src="{{comp.img}}" />
<img class="sheet-competence-img" src="{{comp.img}}" data-tooltip="{{comp.name}}"/>
<span>{{comp.name}}</span>
</a>
@ -23,8 +23,8 @@
/>
{{#if @root.options.vueDetaillee}}
<div class="item-controls">
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
{{/if}}
</li>

View File

@ -3,11 +3,11 @@
<ol class="item-list alterne-list">
{{#each possessions as |possession key|}}
<li class="item flexrow list-item" data-item-id="{{possession._id}}">
<img class="sheet-competence-img" src="{{possession.img}}" />
<img class="sheet-competence-img" src="{{possession.img}}" data-tooltip="{{possession.name}}"/>
<span class="competence-label">{{possession.name}}</span>
<div class="item-controls">
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -1,13 +1,13 @@
{{#unless system.isHidden}}
<li class="item flexrow list-item {{#if system.isLevelUp}}xp-level-up tooltip{{/if}}" data-item-id="{{_id}}">
<a class="competence-label" name="{{name}}">
<a class="competence-label" name="{{name}}" data-tooltip="Niveau {{plusMoins system.niveau}} en {{name}}">
<img class="sheet-competence-img" src="{{img}}"/>
<span>{{name}}</span>
</a>
{{#if system.isLevelUp}}
<span class="tooltiptext ttt-levelup">Vous pouvez dépenser {{system.xpNext}} points d'Experience pour augmenter de 1 votre compétence {{name}}</span>
<a class="competence-xp-augmenter" compname="{{name}}" title="Augmenter">
<a class="competence-xp-augmenter" compname="{{name}}">
<i class="fas fa-arrow-alt-circle-up"></i>
</a>
{{/if}}
@ -35,18 +35,18 @@
<div class="item-controls">
{{#if system.stressXpMax}}
<a class="competence-stress-augmenter" compname="{{name}}"
title="Dépenser {{system.stressXpMax}} points de stress {{#if system.isStressLevelUp}} pour augmenter d'un niveau {{/if}}">
data-tooltip="Dépenser {{system.stressXpMax}} points de stress {{#if system.isStressLevelUp}} pour augmenter d'un niveau {{/if}}">
<i class="fas fa-arrow-alt-circle-up allouer-stress{{#if system.isStressLevelUp}}-level-up{{/if}}"></i>
</a>
{{else}}
<i class="far fa-circle"></i>
{{/if}}
<input class="competence-archetype niveau-archetype" type="text" compname="{{name}}" name="comp-archetype-{{name}}"
value="{{plusMoins system.niveau_archetype}}" data-dtype="number"
value="{{plusMoins system.niveau_archetype}}" data-dtype="number" data-tooltip="Niveau d'archétype {{plusMoins system.niveau_archetype}}"
{{#if (not @root.options.vueArchetype)}}disabled{{/if}} />
<a class="item-edit" title="Modifier"><i class="fas fa-edit"></i></a>
<a class="item-edit" data-tooltip="Modifier"><i class="fas fa-edit"></i></a>
{{#if @root.options.isGM}}
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
{{/if}}
</div>
{{/if}}

View File

@ -1,13 +1,14 @@
<li class="item flexrow" data-attribute={{key}} data-item-id="{{queue._id}}">
<img class="sheet-competence-img" src="{{queue.img}}" />
<li class="item flexrow" data-attribute={{key}} data-item-id="{{queue._id}}"
data-tooltip="{{#if (eq queue.type 'ombre')}}Ombre de thanatos{{else}}Queue{{/if}}: {{queue.name}}"/>
<img class="sheet-competence-img" src="{{queue.img}}">
<span class="item-edit flex-grow">
{{#if (eq queue.type 'ombre')}}
<img class="sheet-competence-img" src="systems/foundryvtt-reve-de-dragon/icons/competence_thanatos.webp" />
<img class="sheet-competence-img" src="systems/foundryvtt-reve-de-dragon/icons/competence_thanatos.webp"/>
{{/if}}
<a>{{queue.name}}</a>
</span>
<div class="item-controls">
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
{{#if queue.system.refoulement}}
<a class="item-action">Refouler</a>
{{/if}}

View File

@ -2,11 +2,11 @@
<h3>Souffles</h3>
<ul class="item-list">
{{#each souffles as |souffle key|}}
<li class="item flexrow" data-attribute={{key}} data-item-id="{{souffle._id}}">
<img class="sheet-competence-img" src="{{souffle.img}}" />
<li class="item flexrow" data-attribute={{key}} data-item-id="{{souffle._id}}" data-tooltip="Souffle: {{souffle.name}}">
<img class="sheet-competence-img" src="{{souffle.img}}"/>
<span class="item-edit flex-grow"><a>{{souffle.name}}</a></span>
<div class="item-controls flex-shrink">
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -2,11 +2,11 @@
<h3>Tetes</h3>
<ul class="item-list">
{{#each tetes as |tete key|}}
<li class="item flexrow" data-attribute={{key}} data-item-id="{{tete._id}}">
<img class="sheet-competence-img" src="{{tete.img}}" />
<li class="item flexrow" data-attribute={{key}} data-item-id="{{tete._id}}" data-tooltip="Tête: {{tete.name}}">
<img class="sheet-competence-img" src="{{tete.img}}"/>
<span class="item-edit flex-grow"><a>{{tete.name}}</a></span>
<div class="item-controls flex-shrink">
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -1,10 +1,11 @@
{{#if options.isGM}}
<li class="item flexrow">
<span>
<a class="chat-card-button forcer-tmr-aleatoire">Ré-insertion aléatoire</a>
<a class="chat-card-button forcer-tmr-aleatoire" data-tooltip="Ré-insérer aléatoirement le demi-rêve, et masquer la position au joueur">Ré-insertion aléatoire</a>
</span>
<span>
<a class="chat-card-button afficher-tmr">{{#if hautreve.cacheTMR}}Montrer les TMR{{else}}Cacher les TMR{{/if}}</a>
<a class="chat-card-button afficher-tmr"
data-tooltip="{{#if hautreve.cacheTMR}}Montrer la position du demi-rêve au joueur{{else}}Cacher la position du demi-rêve au joueur{{/if}}">{{#if hautreve.cacheTMR}}Montrer les TMR{{else}}Cacher les TMR{{/if}}</a>
</span>
</li>
{{/if}}

View File

@ -1,19 +1,19 @@
<div class="header-buttons">
<span class="chance-appel">
<a title="Appel à la chance"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/appel-chance.svg" alt="Appel à la chance"/></a>
<a><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/appel-chance.svg" data-tooltip="Appel à la chance"/></a>
</span>
<span class="encaisser-direct">
<a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a>
<a><img class="button-img" src="icons/svg/bones.svg" data-tooltip="Encaisser des dommages"/></a>
</span>
<span class="ethylisme-test">
<a title="Jet d'Ethylisme"><img class="button-img" src="icons/svg/tankard.svg" alt="Boire"/></a>
<a><img class="button-img" src="icons/svg/tankard.svg" data-tooltip="Boire"/></a>
</span>
<span class="repos">
<a title="Repos"><img class="button-img" src="icons/svg/sleep.svg" alt="Se reposer"/></a>
<a><img class="button-img" src="icons/svg/sleep.svg" data-tooltip="Se reposer"/></a>
</span>
{{#if @root.options.isGM}}
<span class="remise-a-neuf">
<a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a>
<a><img class="button-img" src="icons/svg/regen.svg" data-tooltip="Remise à neuf"/></a>
</span>
{{/if}}
</div>

View File

@ -2,7 +2,7 @@
<ul>
<li data-attribute="vie">
<label class="compteur">
<a class="jet-vie" name="system.sante.vie.label">Vie</a>
<a class="jet-vie" name="system.sante.vie.label" data-tooltip="Faire un jet de vie">Vie</a>
<a class="vie-moins"><i class="fas fa-minus-square"></i></a>
<input class="resource-content" type="text" name="system.sante.vie.value" value="{{system.sante.vie.value}}" data-dtype="Number" />
/ {{#if @root.options.vueDetaillee}}
@ -13,7 +13,7 @@
</li>
<li data-attribute="endurance">
<label class="compteur">
<a class="jet-endurance" name="system.sante.endurance.label">Endurance</a>
<a class="jet-endurance" name="system.sante.endurance.label" data-tooltip="Faire un jet d'endurance pour ne pas être sonné">Endurance</a>
<a class="endurance-moins"><i class="fas fa-minus-square"></i></a>
<input class="resource-content" type="text" name="system.sante.endurance.value" value="{{system.sante.endurance.value}}" data-dtype="Number"/>
/ {{#if @root.options.vueDetaillee}}

View File

@ -2,7 +2,7 @@
<ul>
<li>
<label class="compteur">
<a class="jet-vie">Vie</a>
<a class="jet-vie" data-tooltip="Faire un jet de vie">Vie</a>
<a class="vie-moins"><i class="fas fa-minus-square"></i></a>
<input class="resource-content" type="text" name="system.sante.vie.value" value="{{system.sante.vie.value}}" data-dtype="Number"/>
<span>/ {{system.sante.vie.max}}</span>
@ -11,7 +11,7 @@
</li>
<li>
<label class="compteur">
<a class="jet-endurance">Endurance</a>
<a class="jet-endurance" data-tooltip="Faire un jet d'endurance pour ne pas être sonné">Endurance</a>
<a class="endurance-moins"><i class="fas fa-minus-square"></i></a>
<input class="resource-content" type="text" name="system.sante.endurance.value" value="{{system.sante.endurance.value}}" data-dtype="Number"/>
<span>/ {{system.sante.endurance.max}}</span>
@ -30,7 +30,7 @@
</li>
<li>
<label class="compteur">
<span class="ptreve-actuel"><a>Rêve</a></span>
<span class="ptreve-actuel" data-tooltip="Faire un jet de Rêve actuel (ou jet de résistance)"><a>Rêve</a></span>
<a class="ptreve-actuel-moins"><i class="fas fa-minus-square"></i></a>
<input class="resource-content" class="pointsreve-value" type="text" name="system.reve.reve.value" value="{{system.reve.reve.value}}" data-dtype="Number" />
<span>/ {{system.reve.seuil.value}}</span>

View File

@ -2,7 +2,7 @@
{{#if effects}}
{{#each effects as |effect key|}}
<span class="active-effect" data-effect="{{effect.flags.core.statusId}}">
<img class="button-effect-img {{#if @root.options.isGM}}delete-active-effect{{/if}}" src="{{effect.icon}}" alt="{{localize effect.name}}" width="24" height="24" />
<img class="button-effect-img {{#if @root.options.isGM}}delete-active-effect{{/if}}" src="{{effect.icon}}" data-tooltip="{{localize effect.name}}" width="24" height="24" />
</span>
{{/each}}
{{#if calc.surprise}}<span>{{calc.surprise}}!</span>{{/if}}

View File

@ -1,17 +1,19 @@
{{#if system.attributs.hautrevant.value}}
<div class="tmr-buttons">
<span class="monte-tmr">
<a title="Montée dans les Terres M&eacute;dianes !" {{#if hautreve.isDemiReve}}disabled{{/if}}>
<img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-normal.svg" alt="Montée dans les Terres M&eacute;dianes !"/>
<a data-tooltip="Montée dans les Terres M&eacute;dianes !" {{#if hautreve.isDemiReve}}disabled{{/if}}>
<img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-normal.svg"/>
</a>
</span>
<span class="monte-tmr-rapide">
<a title="Montée accélérée dans les Terres M&eacute;dianes !" {{#if hautreve.isDemiReve}}disabled{{/if}}>
<img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-rapide.svg" alt="Montée accélérée dans les Terres M&eacute;dianes !"/>
<a data-tooltip="Montée accélérée dans les Terres M&eacute;dianes !" {{#if hautreve.isDemiReve}}disabled{{/if}}>
<img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-rapide.svg"/>
</a>
</span>
<span class="visu-tmr">
<a title="Regarder les Terres M&eacute;dianes"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-view.svg" alt="Regarder les Terres M&eacute;dianes"/></a>
<a data-tooltip="Regarder les Terres M&eacute;dianes">
<img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-view.svg"/>
</a>
</span>
</div>
{{/if}}

View File

@ -2,12 +2,12 @@
<h3>Effets sur les cases des TMR</h3>
<ul class="item-list alterne-list">
{{#each casestmr as |casetmr key|}}
<li class="item list-item flexrow" data-item-id="{{casetmr.id}}" data-attribute="{{key}}">
<img class="sheet-competence-img" src="{{casetmr.img}}" />
<li class="item list-item flexrow" data-item-id="{{casetmr.id}}" data-attribute="{{key}}" data-tooltip="Case TMR: {{casetmr.name}}" >
<img class="sheet-competence-img" src="{{casetmr.img}}"/>
<span class="item-edit"><a>{{casetmr.name}}</a></span>
<span>{{casetmr.system.coord}} - {{caseTmr-label casetmr.system.coord}}</span>
<div class="item-controls flex-shrink">
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -2,12 +2,12 @@
<h3>Méditations</h3>
<ul class="item-list">
{{#each (trier meditations) as |meditation key|}}
<li class="item flexrow" data-item-id="{{meditation._id}}" data-attribute="{{key}}">
<img class="sheet-competence-img" src="{{meditation.img}}" />
<li class="item flexrow" data-item-id="{{meditation._id}}" data-attribute="{{key}}" data-tooltip="Méditation: {{meditation.name}}">
<img class="sheet-competence-img" src="{{meditation.img}}"/>
<span class="meditation-label flex-grow"><a data-item-id="{{meditation._id}}">{{meditation.name}} - {{meditation.system.competence}}</a></span>
<div class="item-controls flex-shrink">
<a class="item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Editer"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -2,8 +2,8 @@
<h3>Rencontres en attente dans les TMR</h3>
<ul class="item-list">
{{#each rencontres as |rencontre key|}}
<li class="item flexrow" data-item-id="{{rencontre._id}}" data-attribute="{{key}}">
<img class="sheet-competence-img" src="{{rencontre.img}}" />
<li class="item flexrow" data-item-id="{{rencontre._id}}" data-attribute="{{key}}" data-tooltip="Rencontre: {{rencontre.name}}">
<img class="sheet-competence-img" src="{{rencontre.img}}"/>
<span class="item-edit flex-grow"><a>
{{rencontre.name}} r{{rencontre.system.force}} ({{rencontre.system.coord}} - {{caseTmr-label rencontre.system.coord}})
</a></span>
@ -11,7 +11,7 @@
<span class="flex-shrink">{{upperFirst rencontre.system.heure}}, le {{rencontre.system.date}}</span>
{{/if}}
<div class="item-controls flex-shrink">
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -2,12 +2,12 @@
<h3>Signes draconiques</h3>
<ul class="item-list alterne-list">
{{#each signesdraconiques as |signe key|}}
<li class="item list-item flexrow" data-item-id="{{signe._id}}" data-attribute="{{key}}">
<img class="sheet-competence-img" src="{{signe.img}}" />
<li class="item list-item flexrow" data-item-id="{{signe._id}}" data-attribute="{{key}}" data-tooltip="Signe: {{signe.name}}">
<img class="sheet-competence-img" src="{{signe.img}}"/>
<span class="item-edit flex-grow"><a>{{signe.name}}</a></span>
<span class="flex-shrink">{{signe.system.difficulte}}</span>
<div class="item-controls flex-shrink">
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -2,12 +2,13 @@
<h3>Sorts en Réserve</h3>
<ul class="item-list alterne-list">
{{#each (trier sortsReserve) as |sort key|}}
<li class="item list-item flexrow" data-item-id="{{sort._id}}" data-attribute="{{key}}">
<img class="sheet-competence-img" src="{{sort.img}}" />
<li class="item list-item flexrow" data-item-id="{{sort._id}}" data-attribute="{{key}}"
data-tooltip="Sort en réserve: {{sort.system.coord}} - {{sort.name}} r{{sort.system.ptreve}}">
<img class="sheet-competence-img" src="{{sort.img}}"/>
<span class="item-edit"><a>{{#if sort.system.echectotal}}Echec total: {{/if}}{{sort.name}} r{{sort.system.ptreve}}</a></span>
<span>{{sort.system.coord}} - {{caseTmr-label sort.system.coord}}</span>
<div class="item-controls flex-shrink">
<a class="item-delete flex-shrink" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-delete flex-shrink" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -2,16 +2,17 @@
<h3>Sorts</h3>
<ul class="item-list alterne-list">
{{#each (trier sorts) as |sort key|}}
<li class="item list-item flexrow" data-item-id="{{sort._id}}" data-attribute="{{key}}">
<img class="sheet-competence-img" src="{{sort.img}}" />
<li class="item list-item flexrow" data-item-id="{{sort._id}}" data-attribute="{{key}}" data-tooltip="{{#if sort.system.isrituel}}Rituel{{else}}Sort{{/if}}: {{sort.name}}">
<img class="sheet-competence-img" src="{{sort.img}}"/>
<span class="item-edit flex-grow-2">
<a data-item-id="{{sort._id}}">{{sort.name}}
- {{#if sort.system.caseTMRspeciale}}{{sort.system.caseTMRspeciale}}{{else}}{{upperFirst sort.system.caseTMR}}{{/if}}
</a>
</span>
<span>{{#if sort.system.isrituel}}Rituel{{/if}}</span>
<span>{{sort.system.draconic}} / {{sort.system.difficulte}}</span>
<div class="item-controls flex-shrink">
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -1,6 +1,6 @@
{{#unless item.system.isHidden}}
{{#if (or options.isObserver (ne item.type 'monnaie'))}}
<li class="item flexrow list-item" data-item-id="{{item._id}}" draggable="true">
<li class="item flexrow list-item" data-item-id="{{item._id}}" draggable="true" data-tooltip="{{#if (gt item.system.quantite 1)}}{{item.system.quantite}} {{/if}}{{item.name}}">
<span class="equipement-nom {{#if (eq item.type 'conteneur')}}conteneur-name{{/if}} ">
{{#if (eq item.type 'conteneur')}}
<a>
@ -8,11 +8,11 @@
{{else if ouvert}}far fa-minus-square
{{else}}far fa-plus-square
{{/if~}}"></i>
<img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/>
<img class="sheet-competence-img" src="{{item.img}}"/>
<span>{{item.name}}</span>
</a>
{{else}}
<img class="sheet-competence-img" src="{{item.img}}" title="{{item.name}}"/>
<img class="sheet-competence-img" src="{{item.img}}"/>
<span>{{item.name}}
{{#if (eq item.type 'arme')}}
{{>"systems/foundryvtt-reve-de-dragon/templates/item/icon-arme-broken.hbs" item}}
@ -22,11 +22,11 @@
</span>
<span class="equipement-detail">
{{#if (gt item.system.quantite 1)}}
<a class="item-quantite-moins"><i class="fas fa-minus-square"></i></a>
<a class="item-quantite-moins" data-tooltip="Diminuer la quantité de {{item.name}}"><i class="fas fa-minus-square"></i></a>
{{/if}}
{{item.system.quantite}}
{{#if (gt item.system.quantite 1)}}
<a class="item-split" title="Séparer"><i class="fas fa-unlink"></i></a>
<a class="item-split" data-tooltip="Séparer le groupe de {{item.name}}"><i class="fas fa-unlink"></i></a>
{{/if}}
</span>
<span class="equipement-detail">{{numberFormat item.system.encTotal decimals=2}}</span>
@ -34,17 +34,17 @@
{{#if options.isOwner}}
{{#unless item.estContenu}}
{{#if item.equipable}}
<a class="item-equip" title="Equiper">{{#if item.system.equipe}}<i class="fas fa-hand-rock"></i>{{else}}<i class="far fa-hand-paper"></i>{{/if}}</a>
<a class="item-equip" data-tooltip="Equiper">{{#if item.system.equipe}}<i class="fas fa-hand-rock"></i>{{else}}<i class="far fa-hand-paper"></i>{{/if}}</a>
{{/if}}
{{/unless}}
<a class="item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Editer"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
&nbsp;
{{#if (ne item.system.quantite 0)}}
<a class="item-vendre" title="Vendre ou donner"><i class="fas fa-comments-dollar"></i></a>
<a class="item-vendre" data-tooltip="Vendre ou donner"><i class="fas fa-comments-dollar"></i></a>
{{/if}}
{{/if}}
<a class="item-montrer" title="Montrer"><i class="fas fa-comment"></i></a>
<a class="item-montrer" data-tooltip="Montrer"><i class="fas fa-comment"></i></a>
{{#if options.isOwner}}
{{#if item.system.actionPrincipale}}
<a class="item-action">{{item.system.actionPrincipale}}</a>

View File

@ -3,7 +3,7 @@
<ul class="item-list alterne-list">
{{#each monnaies as |piece id|}}
<li class="item flexrow list-item" data-item-id="{{piece._id}}">
<img class="sheet-competence-img" src="{{piece.img}}" title="{{piece.name}}"/>
<img class="sheet-competence-img" src="{{piece.img}}" data-tooltip="{{piece.name}}"/>
<span class="equipement-nom">{{piece.name}}</span>
<span class="equipement-valeur {{#unless (gt piece.system.cout 0)}}field-error{{/unless}}">
({{piece.system.cout}} Sols)
@ -23,8 +23,8 @@
{{/if}}
<span class="equipement-actions item-controls">
{{#if @root.options.isOwner}}
<a class="item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Editer"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
{{/if}}
</span>
</li>

View File

@ -1,13 +1,13 @@
<h4>Equipement</h4>
<span class="item-name">
{{#if options.isOwner}}
<a class="chat-card-button creer-un-objet">Nouvel objet</a>
<a class="chat-card-button creer-un-objet" data-tooltip="Créer un nouvel objet">Nouvel objet</a>
{{/if}}
{{#if options.isGM}}
<a class="chat-card-button nettoyer-conteneurs">Tout vider</a>
<a class="chat-card-button nettoyer-conteneurs" data-tooltip="Vider tous les contenants">Tout vider</a>
{{/if}}
<span class="embed-inline">
<input class="recherche flex-grow" type="text" value="{{options.recherche.text}}" name="recherche" size="8" data-dtype="String" placeholder=""/>
<input class="recherche flex-grow" type="text" value="{{options.recherche.text}}" name="recherche" size="8" data-dtype="String" placeholder="" data-tooltip="Rechercher dans l'équipement"/>
</span>
{{#if calc.surEncombrementMessage}}<b>{{calc.surEncombrementMessage}}</b> &hyphen;{{/if}}
Encombrement: {{numberFormat calc.encTotal decimals=2}} (max: {{system.attributs.encombrement.value}})

View File

@ -2,10 +2,11 @@
<h3>Jeux :</h3>
<ul class="item-list alterne-list">
{{#each jeux as |jeu id|}}
<li class="item flexrow list-item" data-item-id="{{jeu._id}}"><span class="competence-title jeu-label"><a>{{jeu.name}} (base {{jeu.system.base}})</a></span>
<li class="item flexrow list-item" data-item-id="{{jeu._id}}">
<span class="competence-title jeu-label"><a>{{jeu.name}} (base {{jeu.system.base}})</a></span>
<div class="item-controls flex-shrink">
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -1,11 +1,11 @@
<span class="item-name"><h4>Compagnons animaux</h4></span>
<ul class="item-list alterne-list">
{{#each subacteurs.montures as |monture id|}}
<li class="item flexrow list-item" data-subactor-id="{{monture.id}}">
<img class="sheet-competence-img subacteur-open" src="{{monture.img}}" title="{{monture.name}}"/>
<li class="item flexrow list-item" data-subactor-id="{{monture.id}}" data-tooltip="{{monture.name}}">
<img class="sheet-competence-img subacteur-open" src="{{monture.img}}"/>
<span class="subacteur-label subacteur-open"><a>{{monture.name}}</a></span>
<div class="flex-shrink">
<a class="subacteur-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="subacteur-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -1,8 +1,8 @@
<h4>Suivants/Compagnons/Amoureux</h4>
<ul class="item-list alterne-list">
{{#each subacteurs.suivants as |suivant id|}}
<li class="item flexrow list-item" data-subactor-id="{{suivant.id}}">
<img class="sheet-competence-img subacteur-open" src="{{suivant.img}}" title="{{suivant.name}}"/>
<li class="item flexrow list-item" data-subactor-id="{{suivant.id}}" data-tooltip="{{suivant.name}}">
<img class="sheet-competence-img subacteur-open" src="{{suivant.img}}"/>
<span class="competence-title subacteur-label subacteur-open">
<a>{{suivant.name}}</a>
</span>
@ -11,19 +11,19 @@
<span></span>
{{else}}
<span class="competence-title subacteur-coeur-toggle">
<a data-coeur-nombre="1"><i class="{{#if (gte suivant.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i></a>
<a data-coeur-nombre="2"><i class="{{#if (gte suivant.coeur 2)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i></a>
<a data-coeur-nombre="3"><i class="{{#if (gte suivant.coeur 3)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i></a>
<a data-coeur-nombre="4"><i class="{{#if (gte suivant.coeur 4)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i></a>
{{>'systems/foundryvtt-reve-de-dragon/templates/coeur/afficher-coeur.hbs' numero=1 courant=suivant.coeur prochain=suivant.prochainCoeur}}
{{>'systems/foundryvtt-reve-de-dragon/templates/coeur/afficher-coeur.hbs' numero=2 courant=suivant.coeur prochain=suivant.prochainCoeur}}
{{>'systems/foundryvtt-reve-de-dragon/templates/coeur/afficher-coeur.hbs' numero=3 courant=suivant.coeur prochain=suivant.prochainCoeur}}
{{>'systems/foundryvtt-reve-de-dragon/templates/coeur/afficher-coeur.hbs' numero=4 courant=suivant.coeur prochain=suivant.prochainCoeur}}
</span>
<span class="competence-title subacteur-label">
{{#if (gte suivant.coeur 1)}}
<a class="subacteur-tendre-moment chat-card-button">Tendre moment</a>
<a class="subacteur-tendre-moment chat-card-button" data-tooltip="Proposer à {{suivant.name}} de passer un tendre moment">Tendre moment</a>
{{/if}}
</span>
{{/if}}
<div class="item-controls flex-shrink">
<a class="subacteur-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="subacteur-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -12,13 +12,13 @@
{{#each subacteurs.vehicules as |vehicule id|}}
<li class="item flexrow list-item" data-subactor-id="{{vehicule.id}}">
<img class="sheet-competence-img subacteur-open" src="{{vehicule.img}}" title="{{vehicule.name}}"/>
<img class="sheet-competence-img subacteur-open" src="{{vehicule.img}}" data-tooltip="{{vehicule.name}}"/>
<span class="subacteur-label subacteur-open"><a>{{vehicule.name}}</a></span>
<span>{{vehicule.system.categorie}}</span>
<span>{{vehicule.system.etat.resistance.max}}</span>
<span>{{vehicule.system.etat.structure.max}}</span>
<span>
<a class="subacteur-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="subacteur-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</span>
</li>
{{/each}}

View File

@ -25,8 +25,8 @@
{{/if}}
</span>
<div class="item-controls">
<a class="item-edit" title="Modifier"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Modifier"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -1,12 +1,12 @@
<li class="item flexrow list-item" data-item-id="{{oeuvre._id}}">
<img class="sheet-competence-img" src="{{oeuvre.img}}" />
<img class="sheet-competence-img" src="{{oeuvre.img}}" data-tooltip="{{upperFirst typeOeuvre}}: {{oeuvre.name}}"/>
<span>{{upperFirst typeOeuvre}}</span>
<span class="competence-title {{classOeuvre}}">
<a>{{oeuvre.name}} (niveau {{oeuvre.system.niveau}})</a>
</span>
<div class="item-controls">
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>

View File

@ -13,8 +13,8 @@
</span>
<span class="competence-label">{{possession.system.type}}</span>
<div class="item-controls">
<a class="item-edit" title="Modifier"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Modifier"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -2,10 +2,10 @@
<ul class="item-list alterne-list">
{{#each resonances as |actor|}}
<li class="item flexrow list-item" data-actor-id="{{actor.id}}">
<img class="sheet-competence-img subacteur-open" src="{{actor.img}}" title="{{actor.name}}"/>
<img class="sheet-competence-img subacteur-open" src="{{actor.img}}" data-tooltip="{{actor.name}}"/>
<span class="subacteur-label subacteur-open"><a>{{actor.name}}</a></span>
<div class="flex-shrink">
<a class="resonance-delete" title="Supprimer"><i class="fas fa-trash"></i></a>
<a class="resonance-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}

View File

@ -2,15 +2,15 @@
<ul class="item-list alterne-list">
{{#each taches as |tache id|}}
{{#unless (eq tache.system.competence 'Chirurgie')}}
<li class="item flexrow list-item" data-item-id="{{tache._id}}">
<img class="sheet-competence-img" src="{{tache.img}}" />
<li class="item flexrow list-item" data-item-id="{{tache._id}}" data-tooltip="Tâche: {{tache.name}}" >
<img class="sheet-competence-img" src="{{tache.img}}"/>
<span class="competence-title tache-label"><a>{{tache.name}}
({{tache.system.points_de_tache_courant}}{{#if
(or @root.options.isGM (not tache.system.cacher_points_de_tache))
}}/{{tache.system.points_de_tache}}{{/if}})</a></span>
<div class="item-controls flex-shrink">
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
<a class="item-edit" data-tooltip="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-delete" data-tooltip="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/unless}}

View File

@ -13,10 +13,10 @@
<label class="flex-shrink">{{xplog.datereel}}</label>
{{#if @root.options.isGM}}
<span class="flex-shrink">
<a class="experiencelog-delete" title="Supprimer">
<a class="experiencelog-delete" data-tooltip="Supprimer">
<i class="fas fa-trash"></i>
</a>
<a class="experiencelog-delete-previous" title="Supprimer jusqu'ici">
<a class="experiencelog-delete-previous" data-tooltip="Supprimer jusqu'ici">
<i class="fas fa-eraser"></i>
</a>
</span>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{item.img}}" alt="{{item.name}}" />
<img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" />
<h4>{{#if isVente}}Achat{{else}}Don{{/if}}</h4>
<p>
{{#if acheteur}}{{acheteur.name}}{{else}}L'acheteur{{/if}} a

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{rencontre.img}}" alt="{{rencontre.name}}" />
<img class="chat-icon" src="{{rencontre.img}}" data-tooltip="{{rencontre.name}}" />
<h4>{{#if mauvaise}}Mauvaise rencontre{{else}}Rencontre{{/if}} en {{typeTmr-name tmr.type}}</h4>
<div>{{row.document.pack}}</div>
<div>Jet: {{row.roll.formula}} : {{row.roll.total}}{{percentages}}</div>

View File

@ -3,7 +3,7 @@
<div>Jet {{roll.formula}} : {{roll.total}}{{percentages}}</div>
<hr>
<div>
<img class="chat-icon" src="{{document.img}}" alt="{{document.name}}" />
<img class="chat-icon" src="{{document.img}}" data-tooltip="{{document.name}}" />
<p>{{linkCompendium document.pack document.id document.name}}</p>
{{#if document.system.description}}
<div class="poesie-extrait">

View File

@ -1,5 +1,5 @@
<div>
<img class="chat-icon" src="{{img}}" alt="{{typeName}}" />
<img class="chat-icon" src="{{img}}" data-tooltip="{{typeName}}" />
<h4>Table aléatoire: {{typeName}}</h4>
{{#with (lookup table 0) as |row|}}
<div>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{img}}" alt="potion de repos" />
<img class="chat-icon" src="{{img}}" data-tooltip="potion de repos" />
<h4>
{{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée{{/if}}</strong>
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{img}}" alt="potion de repos" />
<img class="chat-icon" src="{{img}}" data-tooltip="potion de repos" />
<h4>
{{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de puissance {{system.puissance}}{{/if}}</strong>.
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{img}}" alt="potion de soin" />
<img class="chat-icon" src="{{img}}" data-tooltip="potion de soin" />
<h4>
{{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de {{system.puissance}} points de guérison{{/if}}</strong>
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{herbe.img}}" alt="fabrication" />
<img class="chat-icon" src="{{herbe.img}}" data-tooltip="fabrication" />
<h4>
{{alias}} a fabriqué une potion de {{herbe.system.categorie}} de {{herbe.name}}, avec {{herbe.nbBrins}} brins.
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{rollData.arme.img}}" alt="{{rollData.arme.name}}" />
<img class="chat-icon" src="{{rollData.arme.img}}" data-tooltip="{{rollData.arme.name}}" />
<strong>Ajustement de tir/lancer</strong> proposé de <strong>{{total}}</strong>
<ul>
<li>{{defender.name}} est à une distance indicative de {{distance}} mètres.</li>

View File

@ -9,7 +9,7 @@
{{#if item.descr}}
{{{item.descr}}}
{{else}}
{{item.label}}: {{plusMoins item.value}}
{{{item.label}}}: {{plusMoins item.value}}
{{/if}}
</div>
{{/if}}

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{potionImg}}" alt="{{potionName}}" />
<img class="chat-icon" src="{{potionImg}}" data-tooltip="{{potionName}}" />
<h4>
La potion enchantée {{potionName}} de {{alias}} a perdu un Point de Rêve (nouveau total : {{pr}}).</h4>
<hr>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/>
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}"/>
<h4 data-categorie="tmr" data-actor-id="{{actor._id}}" data-rencontre-round="{{nbRounds}}">
{{alias}} rencontre {{#if (eq rencontre.system.genre 'f')}}une{{else}}un{{/if}} {{rencontre.name}} de force {{rencontre.system.force}}
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.webp" alt="préparation alchimique" />
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.webp" data-tooltip="préparation alchimique" />
<h4>
{{alias}} essaye de réaliser sa recette Alchimique : {{recette.name}}
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<h4>{{alias}} attaque à {{diffLibre}}: {{arme.name}}</h4>
<div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div>
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
@ -6,11 +6,11 @@
{{#if tactique}}
<div>
{{#if (eq tactique 'charge')}}
<img class="chat-icon" src="icons/svg/thrust.svg" alt="charge" height="32" width="32" />
<img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="charge" height="32" width="32" />
C'est une charge, vos parades auront un -4 et vous ne pourrez pas esquiver!
{{ else if (eq tactique 'feinte')}}
{{#if rolled.isSuccess}}
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" alt="feinte" height="32" width="32" />
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" data-tooltip="feinte" height="32" width="32" />
Votre feinte peut faire mouche!
{{/if}}
{{/if}}

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.system.competence}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" />
<h4>
{{alias}} {{#if rolled.isSuccess}}chante{{else}}tente de chanter{{/if}} {{oeuvre.name}} (niveau {{oeuvre.system.niveau}})
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<h4>
{{alias}} {{show.title}}:
{{#if selectedCarac}}{{selectedCarac.label}}

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.system.competence}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" />
<h4>
{{alias}} {{#if rolled.isSuccess}}danse{{else}}tente de danser{{/if}} {{oeuvre.name}} (niveau {{oeuvre.system.niveau}})
</h4>

View File

@ -43,7 +43,7 @@
{{/if}}
{{#if (ne dmg.mortalite 'entiteincarnee')}}
{{#if (gt endurance 1)}}et
{{#if sonne}}est <strong>sonné</strong><img class="chat-icon" src="icons/svg/stoned.svg" alt="charge" height="16" width="16" /> jusqu'à la fin du prochain round{{else}}n'est pas sonné{{/if}}!
{{#if sonne}}est <strong>sonné</strong><img class="chat-icon" src="icons/svg/stoned.svg" data-tooltip="charge" height="16" width="16" /> jusqu'à la fin du prochain round{{else}}n'est pas sonné{{/if}}!
{{#if hasPlayerOwner}}Jet d'endurance : {{jetEndurance}} / {{resteEndurance}}{{/if}}
{{/if}}
{{/if}}

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<h4>{{alias}} esquive une attaque à {{diffLibre}}</h4>
<div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div>
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
@ -19,10 +19,10 @@
{{#if attackerRoll.tactique}}
<div>
{{#if (eq attackerRoll.tactique 'charge')}}
<img class="chat-icon" src="icons/svg/thrust.svg" alt="charge" height="32" width="32" />
<img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="charge" height="32" width="32" />
C'était une charge, les parades de l'adversaire de {{alias}} auront un -4 et il ne pourra pas esquiver!
{{ else if (eq attackerRoll.tactique 'feinte')}}
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" alt="feinte" height="32" width="32" />
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" data-tooltip="feinte" height="32" width="32" />
C'était une feinte!
{{/if}}
</div>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/objets/chope_gres.webp" alt="Ethylisme" />
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/objets/chope_gres.webp" data-tooltip="Ethylisme" />
<h4>
{{alias}} boit un verre d'alcool de force {{jetVie.forceAlcool}}
{{#if alcool}}

View File

@ -1,5 +1,5 @@
{{#if competence.img}}
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
{{/if}}
<h4>
{{alias}} {{#if show.title}}{{show.title}}: {{/if}}

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.system.competence}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" />
<h4>
{{alias}} joue à : {{oeuvre.name}}
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<h4>{{alias}} lit le signe {{signe.name}}</h4>
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
<hr>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}"/>
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}"/>
<h4 data-categorie="tmr" data-actor-id="{{actor._id}}">
{{alias}} tente de {{maitrise.verbe}} {{le tmr.genre}}
{{#if isTMRCache}}

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<h4>
{{alias}} a médité : {{meditation.name}}
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="icons/svg/lightning.svg" alt="Météo" />
<img class="chat-icon" src="icons/svg/lightning.svg" data-tooltip="Météo" />
<h4>Météo aléatoire</h4>
<ul>
<li>Vent: {{lowerFirst vent.description}} {{apostrophe 'de' vent.direction}}, force {{vent.force}}</li>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.system.competence}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" />
<h4>
{{alias}} {{#if rolled.isSuccess}}interprete{{else}}tente de jouer{{/if}} le morceau : {{oeuvre.name}} (niveau {{oeuvre.system.niveau}})
</h4>

View File

@ -1,4 +1,4 @@
<h4><img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.system.competence}}" />
<h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" />
{{alias}} tente d'interpréter {{oeuvre.name}} (niveau {{oeuvre.system.niveau}})
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<h4>{{alias}} pare une attaque à {{diffLibre}} - {{arme.name}}</h4>
<div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div>
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
@ -35,10 +35,10 @@
{{#if attackerRoll.tactique}}
<div>
{{#if (eq attackerRoll.tactique 'charge')}}
<img class="chat-icon" src="icons/svg/thrust.svg" alt="charge" />
<img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="charge" />
C'était une charge, les parades de l'adversaire auront un -4 et il ne pourra pas esquiver!
{{ else if (eq attackerRoll.tactique 'feinte')}}
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" alt="feinte" height="32"
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/heures/hd06.svg" data-tooltip="feinte" height="32"
width="32" />
C'était une feinte!
{{/if}}

View File

@ -1,11 +1,11 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{oeuvre.system.competence}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" />
<h4>
{{alias}} {{#if rolled.isSuccess}}réalise{{else}}tente de cuisiner{{/if}} la recette : {{oeuvre.name}} (niveau {{oeuvre.system.niveau}})
</h4>
{{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.html"}}
<hr>
<span>
<img class="chat-icon" src="{{platCuisine.img}}" alt="{{platCuisine.name}}" />
<img class="chat-icon" src="{{platCuisine.img}}" data-tooltip="{{platCuisine.name}}" />
<br>{{alias}} a préparé {{platCuisine.system.quantite}} portions de {{platCuisine.name}}
{{~#if ajouterEquipement}}, qui ont été ajoutées à son équipement{{/if}}.
{{#if rolled.isSuccess}}

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_legendes.webp" alt="Rêve de Dragon"/>
<img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_legendes.webp" data-tooltip="Rêve de Dragon"/>
<h4 data-categorie="tmr" data-actor-id="{{actor._id}}">
{{alias}} tente de maîtriser un Rêve de Dragon!
</h4>

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<h4>
{{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}}
le {{#if selectedSort.system.isrituel}}rituel{{else}}sort{{/if}}

View File

@ -1,4 +1,4 @@
<img class="chat-icon" src="{{competence.img}}" alt="{{competence.name}}" />
<img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" />
<h4>
{{alias}} travaille à sa t&acirc;che {{tache.name}}
<br>{{selectedCarac.label}}/{{competence.name}}

View File

@ -1,4 +1,4 @@
<h4><img class="chat-icon" src="{{signe.img}}" alt="{{signe.name}}" />
<h4><img class="chat-icon" src="{{signe.img}}" data-tooltip="{{signe.name}}" />
{{alias}} perçoit {{signe.name}}
</h4>
<p>Pour le lire ce signe draconique, {{alias}} doit se rendre dans les

View File

@ -1,4 +1,4 @@
<h4><img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/tmr/signe_draconique.webp" alt="Signe draconique" />
<h4><img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/tmr/signe_draconique.webp" data-tooltip="Signe draconique" />
{{alias}} peut lire un signe draconique
</h4>
<p>{{alias}} vient de trouver une terre de résonance en {{typeTMR}}, ou il peut lire un signe draconique.</p>

View File

@ -1,7 +1,7 @@
<div class="post-item" data-transfer="{{transfer}}">
<h3>{{#if alias}}{{alias}} propose: {{else}}Acheter {{/if}}{{item.name}}</h3>
{{#if item.img}}
<img class="chat-icon" src="{{item.img}}" title="{{item.name}}" alt="{{item.name}}" />
<img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" />
{{/if}}
<div class="poesie-extrait poesie-overflow card-content">{{{item.system.description}}}</div>
<p>

View File

@ -0,0 +1,12 @@
{{log 'C&oelig;ur' numero courant prochain}}
<a data-numero-coeur="{{numero}}">
{{#if (and (lte numero courant) (lte numero prochain))}}
<i class="fa-solid fa-heart"></i>
{{else if (and (lte numero courant) (gt numero prochain))}}
<i class="fa-solid fa-heart-crack"></i>
{{else if (and (gt numero courant) (lte numero prochain))}}
<i class="fa-solid fa-hand-holding-heart"></i>
{{else if (and (gt numero courant) (gt numero prochain))}}
<i class="fa-regular fa-heart"></i>
{{/if}}
</a>

View File

@ -1,9 +1,9 @@
<h3>
<div class="flexrow flex-center">
<img class="chat-icon" src="{{source.actor.img}}" title="{{source.actor.name}}" alt="{{source.actor.name}}" />
<img class="chat-icon" src="{{source.actor.img}}" data-tooltip="{{source.actor.name}}" />
<span class="flexcol tendre-moment">
<div>
<i class="{{#if (gte source.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart "></i>
<i class="{{#if (gte source.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 2)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 3)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 4)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
@ -15,7 +15,7 @@
<i class="{{#if (gte target.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
</div>
</span>
<img class="chat-icon" src="{{target.actor.img}}" title="{{target.actor.name}}" alt="{{target.actor.name}}" />
<img class="chat-icon" src="{{target.actor.img}}" data-tooltip="{{target.actor.name}}" />
</div>
</h3>
<p>

View File

@ -4,7 +4,7 @@
{{#if (gt gainMoral 0)}}a apprécié ce tendre moment et gagné du moral
{{else}}n'a pas gagné de moral{{#if (gte coeur 1)}} et peut
<span class="chat-card-button-area">
<a class="perdre-point-coeur-douceur chat-card-button" data-actor-id="{{actor.id}}">perdre un point de coeur</a>
<a class="perdre-point-coeur-douceur chat-card-button" data-actor-id="{{actor.id}}">perdre un point de c&oelig;ur</a>
</span>
{{/if}}.
{{/if}}

View File

@ -1,9 +1,9 @@
<h3>
<div class="flexrow flex-center">
<img class="chat-icon" src="{{source.actor.img}}" title="{{source.actor.name}}" alt="{{source.actor.name}}" />
<img class="chat-icon" src="{{source.actor.img}}" data-tooltip="{{source.actor.name}}" />
<span class="flexcol tendre-moment">
<div >
<i class="{{#if (gte source.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart "></i>
<i class="{{#if (gte source.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 2)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 3)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 4)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
@ -15,7 +15,7 @@
<i class="{{#if (gte target.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
</div>
</span>
<img class="chat-icon" src="{{target.actor.img}}" title="{{target.actor.name}}" alt="{{target.actor.name}}" />
<img class="chat-icon" src="{{target.actor.img}}" data-tooltip="{{target.actor.name}}" />
</div>
</h3>
<p>

View File

@ -1,9 +1,9 @@
<h3>
<div class="flexrow flex-center">
<img class="chat-icon" src="{{source.actor.img}}" title="{{source.actor.name}}" alt="{{source.actor.name}}" />
<img class="chat-icon" src="{{source.actor.img}}" data-tooltip="{{source.actor.name}}" />
<span class="flexcol">
<div>
<i class="{{#if (gte source.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart "></i>
<i class="{{#if (gte source.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 2)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 3)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
<i class="{{#if (gte source.coeur 4)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
@ -15,7 +15,7 @@
<i class="{{#if (gte target.coeur 1)}}fa-solid{{else}}fa-regular{{/if}} fa-heart"></i>
</div>
</span>
<img class="chat-icon" src="{{target.actor.img}}" title="{{target.actor.name}}" alt="{{target.actor.name}}" />
<img class="chat-icon" src="{{target.actor.img}}" data-tooltip="{{target.actor.name}}" />
</div>
</h3>
<p>

View File

@ -14,7 +14,7 @@
>
{{/if}}
{{#if img}}
<img class="in-text-img" src="{{img}}" alt="{{name}}" />
<img class="in-text-img" src="{{img}}" data-tooltip="{{name}}" />
{{else}}
<i class="fas fa-suitcase"></i>
{{/if}}

Some files were not shown because too many files have changed in this diff Show More