2021-05-07 17:27:02 +02:00
import { DialogItemVente } from "./dialog-item-vente.js" ;
2021-04-12 00:16:23 +02:00
import { Grammar } from "./grammar.js" ;
2021-03-22 20:10:37 +01:00
import { Misc } from "./misc.js" ;
2021-01-01 21:11:56 +01:00
import { RdDUtility } from "./rdd-utility.js" ;
2021-04-08 20:37:11 +02:00
const typesObjetsEquipement = [ "objet" , "arme" , "armure" , "conteneur" , "herbe" , "ingredient" , "livre" , "potion" , "munition" , "nourritureboisson" , "monnaie" ] ;
2021-04-06 23:36:35 +02:00
const typesObjetsOeuvres = [ "oeuvre" , "recettecuisine" , "musique" , "chant" , "danse" , "jeu" ] ;
2021-04-13 22:42:39 +02:00
const encBrin = 0.00005 ; // un brin = 1 décigramme = 1/10g = 1/10000kg = 1/20000 enc
2021-05-18 19:50:24 +02:00
export const defaultItemImg = {
competence : "systems/foundryvtt-reve-de-dragon/icons/competence_defaut.webp" ,
compcreature : "systems/foundryvtt-reve-de-dragon/icons/competence_defaut.webp" ,
arme : "systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_gnome.webp" ,
armure : "systems/foundryvtt-reve-de-dragon/icons/armes_armures/armure_plaques.webp" ,
conteneur : "systems/foundryvtt-reve-de-dragon/icons/objets/sac_a_dos.webp" ,
sort : "systems/foundryvtt-reve-de-dragon/icons/competence_oniros.webp" ,
herbe : "systems/foundryvtt-reve-de-dragon/icons/botanique/Endorlotte.png" ,
ingredient : "systems/foundryvtt-reve-de-dragon/icons/objets/sable_poudre.webp" ,
livre : "systems/foundryvtt-reve-de-dragon/icons/objets/livre.webp" ,
potion : "systems/foundryvtt-reve-de-dragon/icons/objets/liqueur_de_bagdol.webp" ,
queue : "systems/foundryvtt-reve-de-dragon/icons/queue_dragon.webp" ,
ombre : "systems/foundryvtt-reve-de-dragon/icons/queue_dragon.webp" ,
souffle : "systems/foundryvtt-reve-de-dragon/icons/souffle_dragon.webp" ,
tete : "systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp" ,
meditation : "systems/foundryvtt-reve-de-dragon/icons/meditations_ecrits/meditation_alchimie.webp" ,
recettealchimique : "systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.webp" ,
chant : "systems/foundryvtt-reve-de-dragon/icons/arts/chant_0.webp" ,
danse : "systems/foundryvtt-reve-de-dragon/icons/arts/danse_0.webp" ,
jeu : "systems/foundryvtt-reve-de-dragon/icons/arts/jeux_petasse.webp" ,
recettecuisine : "systems/foundryvtt-reve-de-dragon/icons/arts/recette_cuisine_1.webp" ,
musique : "systems/foundryvtt-reve-de-dragon/icons/arts/chant_0.webp" ,
maladie : "systems/foundryvtt-reve-de-dragon/icons/maladies_venins/maladie.webp" ,
poison : "systems/foundryvtt-reve-de-dragon/icons/maladies_venins/venin.webp" ,
oeuvre : "systems/foundryvtt-reve-de-dragon/icons/competence_comedie.webp" ,
nourritureboisson : "systems/foundryvtt-reve-de-dragon/icons/objets/provision_crue.webp" ,
signedraconique : "systems/foundryvtt-reve-de-dragon/icons/tmr/signe_draconique.webp" ,
}
2021-01-01 21:11:56 +01:00
/* -------------------------------------------- */
export class RdDItem extends Item {
2021-05-20 02:43:30 +02:00
constructor ( data , context ) {
2021-05-18 19:50:24 +02:00
if ( ! data . img ) {
data . img = defaultItemImg [ data . type ] ;
}
2021-05-20 02:43:30 +02:00
super ( data , context ) ;
2021-05-18 19:50:24 +02:00
}
2021-04-06 23:36:35 +02:00
static getTypeObjetsEquipement ( ) {
return typesObjetsEquipement ;
}
2021-04-11 18:43:32 +02:00
2021-04-06 23:36:35 +02:00
static getTypesOeuvres ( ) {
return typesObjetsOeuvres ;
}
2021-04-11 18:43:32 +02:00
2021-05-06 21:34:07 +02:00
isCompetence ( ) {
return Misc . data ( this ) . type == 'competence' ;
}
2021-04-13 22:42:39 +02:00
isConteneur ( ) {
return Misc . data ( this ) . type == 'conteneur' ;
}
2021-05-10 18:39:35 +02:00
2021-05-07 17:27:02 +02:00
isVide ( ) {
return this . isConteneur ( ) && ( Misc . templateData ( this ) . contenu ? ? [ ] ) . length == 0 ;
}
2021-04-13 22:42:39 +02:00
isAlcool ( ) {
const itemData = Misc . data ( this ) ;
return itemData . type == 'nourritureboisson' && itemData . data . boisson && itemData . data . alcoolise ;
}
isPotion ( ) {
return Misc . data ( this ) . type == 'potion' ;
}
isEquipement ( ) {
return RdDItem . getTypeObjetsEquipement ( ) . includes ( Misc . data ( this ) . type ) ;
}
2021-05-07 17:27:02 +02:00
2021-04-20 23:16:18 +02:00
isCristalAlchimique ( ) {
const itemData = Misc . data ( this ) ;
return itemData . type == 'objet' && Grammar . toLowerCaseNoAccent ( itemData . name ) == 'cristal alchimique' && itemData . data . quantite > 0 ;
}
2021-05-07 17:27:02 +02:00
isMagique ( ) {
2021-05-25 21:54:45 +02:00
return Misc . templateData ( this ) . magique ;
2021-05-06 21:36:40 +02:00
}
2021-04-13 22:42:39 +02:00
2021-05-27 22:40:12 +02:00
getEncTotal ( ) {
const itemData = Misc . data ( this ) ;
return Number ( itemData . data . encombrement ? ? 0 ) * Number ( itemData . data . quantite ? ? 1 ) ;
}
2021-04-13 22:42:39 +02:00
getEnc ( ) {
const itemData = Misc . data ( this ) ;
switch ( itemData . type ) {
case 'herbe' :
return encBrin ;
}
2021-05-27 22:40:12 +02:00
return itemData . data . encombrement ? ? 0 ;
2021-04-13 22:42:39 +02:00
}
2021-04-06 23:36:35 +02:00
prepareDerivedData ( ) {
super . prepareDerivedData ( ) ;
2021-04-13 22:42:39 +02:00
if ( this . isEquipement ( this ) ) {
2021-04-11 18:47:00 +02:00
this . _calculsEquipement ( ) ;
2021-04-08 20:37:11 +02:00
}
2021-04-13 22:42:39 +02:00
if ( this . isPotion ( ) ) {
2021-04-12 00:16:23 +02:00
this . prepareDataPotion ( )
}
2021-04-13 22:42:39 +02:00
const itemData = Misc . data ( this ) ;
2021-04-12 00:16:23 +02:00
itemData . data . actionPrincipale = this . getActionPrincipale ( { warnIfNot : false } ) ;
}
prepareDataPotion ( ) {
const tplData = Misc . templateData ( this ) ;
const categorie = Grammar . toLowerCaseNoAccent ( tplData . categorie ) ;
2021-05-06 21:36:40 +02:00
tplData . magique = categorie . includes ( 'enchante' ) ;
if ( tplData . magique ) {
2021-04-12 00:16:23 +02:00
if ( categorie . includes ( 'soin' ) || categorie . includes ( 'repos' ) ) {
tplData . puissance = tplData . herbebonus * tplData . pr ;
}
}
2021-04-08 20:37:11 +02:00
}
2021-04-11 18:47:00 +02:00
_calculsEquipement ( ) {
const tplData = Misc . templateData ( this ) ;
2021-04-13 22:42:39 +02:00
const quantite = this . isConteneur ( ) ? 1 : ( tplData . quantite ? ? 0 ) ;
2021-04-11 23:01:57 +02:00
const enc = this . getEnc ( ) ;
if ( enc != undefined ) {
tplData . encTotal = Math . max ( enc , 0 ) * quantite ;
2021-04-08 20:37:11 +02:00
}
if ( tplData . cout != undefined ) {
tplData . prixTotal = Math . max ( tplData . cout , 0 ) * quantite ;
2021-04-06 23:36:35 +02:00
}
}
2021-04-12 00:16:23 +02:00
getActionPrincipale ( options = { warnIfNot : true } ) {
2021-04-11 23:01:10 +02:00
const itemData = Misc . data ( this ) ;
if ( ( itemData . data . quantite ? ? 0 ) <= 0 ) {
if ( options . warnIfNot ) {
ui . notifications . warn ( ` Vous n'avez plus de ${ itemData . name } . ` ) ;
}
2021-04-12 00:16:23 +02:00
return undefined ;
2021-04-11 23:01:10 +02:00
}
switch ( itemData . type ) {
2021-04-12 00:16:23 +02:00
case 'nourritureboisson' : return itemData . data . boisson ? 'Boire' : 'Manger' ;
case 'potion' : return 'Boire' ;
2021-05-04 15:18:32 +02:00
case 'livre' : return 'Lire' ;
2021-04-11 23:01:10 +02:00
}
if ( options . warnIfNot ) {
2021-04-12 00:16:23 +02:00
ui . notifications . warn ( ` Impossible d'utilise un ${ itemData . name } , aucune action associée définie. ` ) ;
2021-04-11 23:01:10 +02:00
}
2021-04-12 00:16:23 +02:00
return undefined ;
2021-04-11 23:01:10 +02:00
}
2021-04-12 01:03:37 +02:00
async diminuerQuantite ( nombre , options = { diminuerQuantite : true , supprimerSiZero : false } ) {
if ( options . diminuerQuantite == false ) return ;
2021-04-13 22:42:39 +02:00
await this . quantiteIncDec ( - nombre , options ) ;
}
async quantiteIncDec ( nombre , options = { diminuerQuantite : true , supprimerSiZero : false } ) {
2021-04-11 18:47:00 +02:00
const itemData = Misc . data ( this ) ;
2021-05-07 17:27:02 +02:00
const quantite = Number ( itemData . data . quantite ? ? - 1 ) ;
if ( quantite >= 0 ) {
2021-04-14 21:51:29 +02:00
const reste = Math . max ( quantite + Number ( nombre ) , 0 ) ;
2021-04-13 22:42:39 +02:00
if ( reste == 0 ) {
2021-05-07 17:27:02 +02:00
if ( options . supprimerSiZero ) {
2021-04-13 22:42:39 +02:00
ui . notifications . notify ( ` ${ itemData . name } supprimé de votre équipement ` ) ;
await this . delete ( ) ;
}
else {
ui . notifications . notify ( ` Il ne vous reste plus de ${ itemData . name } , vous pouvez le supprimer de votre équipement, ou trouver un moyen de vous en procurer. ` ) ;
await this . update ( { "data.quantite" : 0 } ) ;
}
2021-04-12 01:03:37 +02:00
}
else {
await this . update ( { "data.quantite" : reste } ) ;
}
2021-04-11 18:47:00 +02:00
}
}
2021-04-13 22:42:39 +02:00
/* -------------------------------------------- */
// détermine si deux équipements sont similaires: de même type, et avec les même champs hormis la quantité
isEquipementSimilaire ( other ) {
const itemData = Misc . data ( this ) ;
const otherData = Misc . data ( other ) ;
const tplData = Misc . templateData ( this ) ;
const otherTplData = Misc . templateData ( other ) ;
if ( ! this . isEquipement ( ) ) return false ;
if ( itemData . type != otherData . type ) return false ;
if ( itemData . name != otherData . name ) return false ;
if ( tplData . quantite == undefined ) return false ;
2021-06-02 23:41:25 +02:00
const differences = Object . entries ( tplData ) . filter ( ( [ key , value ] ) => ! [ 'quantite' , 'encTotal' , 'prixTotal' , 'cout' ] . includes ( key ) )
. filter ( ( [ key , value ] ) => value != otherTplData [ key ] ) ;
if ( differences . length > 0 ) {
let message = ` Impossible de regrouper les ${ itemData . type } ${ itemData . name } : ` ;
for ( const [ key , value ] of differences ) {
message += ` <br> ${ key } : ${ value } vs ${ otherTplData [ key ] } ` ;
}
ui . notifications . info ( message )
return false ;
2021-04-13 22:42:39 +02:00
}
return true ;
}
2021-05-07 17:27:02 +02:00
async proposerVente ( ) {
console . log ( this ) ;
const dialog = await DialogItemVente . create ( this , ( vente ) => this . _onProposerVente ( vente ) )
dialog . render ( true ) ;
}
async _onProposerVente ( venteData ) {
2021-06-08 00:32:27 +02:00
venteData [ "properties" ] = this . getProprietes ( ) ;
2021-05-07 17:27:02 +02:00
if ( venteData . isOwned ) {
if ( venteData . quantiteNbLots * venteData . tailleLot > venteData . quantiteMax ) {
ui . notifications . warn ( ` Vous avez ${ venteData . quantiteMax } ${ venteData . item . name } , ce n'est pas suffisant pour vendre ${ venteData . quantiteNbLots } de ${ venteData . tailleLot } ` )
return ;
}
}
venteData . jsondata = JSON . stringify ( venteData . item ) ;
console . log ( venteData ) ;
let html = await renderTemplate ( 'systems/foundryvtt-reve-de-dragon/templates/chat-vente-item.html' , venteData ) ;
2021-05-18 19:50:24 +02:00
ChatMessage . create ( RdDUtility . chatDataSetup ( html ) ) ;
2021-05-07 17:27:02 +02:00
}
2021-04-13 22:42:39 +02:00
2021-06-08 00:32:27 +02:00
getProprietes ( ) {
return this [ ` _ ${ Misc . data ( this ) . type } ChatData ` ] ( ) ;
}
2021-01-01 21:11:56 +01:00
/* -------------------------------------------- */
async postItem ( ) {
console . log ( this ) ;
2021-04-11 18:47:00 +02:00
let chatData = duplicate ( Misc . data ( this ) ) ;
2021-06-08 00:32:27 +02:00
const properties = this . getProprietes ( ) ;
2021-01-01 21:11:56 +01:00
chatData [ "properties" ] = properties
2021-05-07 17:27:02 +02:00
i f ( this . actor ) {
chatData . actor = { id : this . actor . id } ;
2021-04-14 22:40:12 +02:00
}
2021-01-01 21:11:56 +01:00
//Check if the posted item should have availability/pay buttons
chatData . hasPrice = "cout" in chatData . data ;
chatData . data . cout _deniers = 0 ;
let dialogResult = [ - 1 , - 1 ] ; // dialogResult[0] = quantité, dialogResult[1] = prix
2021-04-06 23:36:35 +02:00
if ( chatData . hasPrice ) {
2021-04-11 18:47:00 +02:00
chatData . data . cout _deniers = Math . floor ( chatData . data . cout * 100 ) ;
2021-04-06 23:36:35 +02:00
dialogResult = await new Promise ( ( resolve , reject ) => {
new Dialog ( {
content :
` <p>Modifier la quantité?</p>
2021-01-11 18:04:26 +01:00
< div class = "form-group" >
2021-01-01 21:11:56 +01:00
< label > Quantité < / l a b e l >
2021-01-29 21:03:32 +01:00
< input name = "quantity" type = "text" value = "1" / >
2021-01-01 21:11:56 +01:00
< / d i v >
< p > Modifier la prix ? < / p >
< div class = "form-group" >
2021-05-07 17:27:02 +02:00
< label > Prix en Sols < / l a b e l >
2021-01-01 21:11:56 +01:00
< input name = "price" type = "text" value = "${chatData.data.cout}" / >
< / d i v >
` ,
2021-04-06 23:36:35 +02:00
title : "Quantité & Prix" ,
buttons : {
post : {
label : "Soumettre" ,
2021-01-01 21:11:56 +01:00
callback : ( dlg ) => {
2021-04-11 18:47:00 +02:00
resolve ( [ Number ( dlg . find ( '[name="quantity"]' ) . val ( ) ) , Number ( dlg . find ( '[name="price"]' ) . val ( ) ) ] )
2021-01-01 21:11:56 +01:00
}
} ,
}
} ) . render ( true )
} )
2021-04-06 23:36:35 +02:00
}
2021-05-07 17:27:02 +02:00
let quantiteEnvoi = this . isOwned ? Math . min ( dialogResult [ 0 ] , chatData . data . quantite ) : dialogResult [ 0 ] ;
2021-04-11 18:47:00 +02:00
const prixTotal = dialogResult [ 1 ] ;
if ( quantiteEnvoi > 0 ) {
2021-04-06 23:36:35 +02:00
if ( this . isOwned ) {
2021-04-11 18:47:00 +02:00
if ( chatData . data . quantite == 0 ) {
quantiteEnvoi = - 1
2021-01-01 21:11:56 +01:00
}
2021-04-11 18:47:00 +02:00
else if ( quantiteEnvoi > chatData . data . quantite ) {
quantiteEnvoi = chatData . data . quantite ;
ui . notifications . notify ( ` Impossible de poster plus que ce que vous avez. La quantité à été réduite à ${ quantiteEnvoi } . ` )
}
if ( quantiteEnvoi > 0 ) {
this . diminuerQuantite ( quantiteEnvoi ) ;
2021-01-01 21:11:56 +01:00
}
}
}
2021-04-06 23:36:35 +02:00
if ( chatData . hasPrice ) {
2021-04-11 18:47:00 +02:00
if ( quantiteEnvoi > 0 )
chatData . postQuantity = Number ( quantiteEnvoi ) ;
2021-04-14 22:29:20 +02:00
if ( prixTotal >= 0 ) {
2021-04-11 18:47:00 +02:00
chatData . postPrice = prixTotal ;
chatData . data . cout _deniers = Math . floor ( prixTotal * 100 ) ; // Mise à jour cout en deniers
2021-01-11 18:04:26 +01:00
}
chatData . finalPrice = Number ( chatData . postPrice ) * Number ( chatData . postQuantity ) ;
2021-01-22 10:05:30 +01:00
chatData . data . cout _deniers _total = chatData . data . cout _deniers * Number ( chatData . postQuantity ) ;
chatData . data . quantite = chatData . postQuantity ;
console . log ( "POST : " , chatData . finalPrice , chatData . data . cout _deniers _total , chatData . postQuantity ) ;
2021-01-01 21:11:56 +01:00
}
// Don't post any image for the item (which would leave a large gap) if the default image is used
if ( chatData . img . includes ( "/blank.png" ) )
chatData . img = null ;
2021-04-06 23:36:35 +02:00
2021-01-01 21:11:56 +01:00
// JSON object for easy creation
chatData . jsondata = JSON . stringify (
2021-04-06 23:36:35 +02:00
{
compendium : "postedItem" ,
2021-04-11 18:47:00 +02:00
payload : chatData ,
2021-04-06 23:36:35 +02:00
} ) ;
2021-01-01 21:11:56 +01:00
renderTemplate ( 'systems/foundryvtt-reve-de-dragon/templates/post-item.html' , chatData ) . then ( html => {
let chatOptions = RdDUtility . chatDataSetup ( html ) ;
ChatMessage . create ( chatOptions )
} ) ;
}
2021-05-07 17:27:02 +02:00
static propertyIfDefined ( name , val , condition = ( it ) => true ) {
2021-04-11 18:47:00 +02:00
return condition ? [ ` <b> ${ name } </b>: ${ val } ` ] : [ ] ;
}
2021-01-01 21:11:56 +01:00
/* -------------------------------------------- */
_objetChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-05-07 17:27:02 +02:00
let properties = [ ] . concat (
RdDItem . propertyIfDefined ( 'Résistance' , tplData . resistance , tplData . resistance ) ,
RdDItem . propertyIfDefined ( 'Qualité' , tplData . qualite , tplData . qualite ) ,
RdDItem . propertyIfDefined ( 'Encombrement' , tplData . encombrement ) ,
) ;
2021-01-01 21:11:56 +01:00
return properties ;
}
2021-04-11 18:47:00 +02:00
/* -------------------------------------------- */
_nourritureboissonChatData ( ) {
const tplData = Misc . templateData ( this ) ;
let properties = [ ] . concat (
RdDItem . propertyIfDefined ( 'Sustentation' , tplData . sust , tplData . sust > 0 ) ,
RdDItem . propertyIfDefined ( 'Désaltère' , tplData . desaltere , tplData . boisson ) ,
RdDItem . propertyIfDefined ( 'Force alcool' , tplData . force , tplData . boisson && tplData . alcoolise ) ,
2021-04-16 00:29:08 +02:00
RdDItem . propertyIfDefined ( 'Exotisme' , tplData . exotisme , tplData . exotisme < 0 ) ,
2021-05-07 17:27:02 +02:00
RdDItem . propertyIfDefined ( 'Qualité' , tplData . qualite , tplData . qualite ) ,
RdDItem . propertyIfDefined ( 'Encombrement' , tplData . encombrement ) ,
2021-04-11 18:47:00 +02:00
) ;
return properties ;
}
2021-01-01 21:11:56 +01:00
/* -------------------------------------------- */
_armeChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Compétence</b>: ${ tplData . competence } ` ,
` <b>Dommages</b>: ${ tplData . dommages } ` ,
` <b>Force minimum</b>: ${ tplData . force } ` ,
` <b>Resistance</b>: ${ tplData . resistance } ` ,
` <b>Encombrement</b>: ${ tplData . encombrement } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_conteneurChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Capacité</b>: ${ tplData . capacite } Enc. ` ,
` <b>Encombrement</b>: ${ tplData . encombrement } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_munitionChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Encombrement</b>: ${ tplData . encombrement } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_armureChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Protection</b>: ${ tplData . protection } ` ,
` <b>Détérioration</b>: ${ tplData . deterioration } ` ,
` <b>Malus armure</b>: ${ tplData . malus } ` ,
` <b>Encombrement</b>: ${ tplData . encombrement } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_competenceChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Catégorie</b>: ${ tplData . categorie } ` ,
` <b>Niveau</b>: ${ tplData . niveau } ` ,
` <b>Caractéristique par défaut</b>: ${ tplData . carac _defaut } ` ,
` <b>XP</b>: ${ tplData . xp } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_competencecreatureChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Catégorie</b>: ${ tplData . categorie } ` ,
` <b>Niveau</b>: ${ tplData . niveau } ` ,
` <b>Caractéristique</b>: ${ tplData . carac _value } ` ,
` <b>XP</b>: ${ tplData . xp } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_sortChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Draconic</b>: ${ tplData . draconic } ` ,
` <b>Difficulté</b>: ${ tplData . difficulte } ` ,
` <b>Case TMR</b>: ${ tplData . caseTMR } ` ,
` <b>Points de Rêve</b>: ${ tplData . ptreve } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_herbeChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Milieu</b>: ${ tplData . milieu } ` ,
` <b>Rareté</b>: ${ tplData . rarete } ` ,
` <b>Catégorie</b>: ${ tplData . categorie } ` ,
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_ingredientChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Milieu</b>: ${ tplData . milieu } ` ,
` <b>Rareté</b>: ${ tplData . rarete } ` ,
` <b>Catégorie</b>: ${ tplData . categorie } ` ,
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_tacheChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Caractéristique</b>: ${ tplData . carac } ` ,
` <b>Compétence</b>: ${ tplData . competence } ` ,
` <b>Périodicité</b>: ${ tplData . periodicite } ` ,
` <b>Fatigue</b>: ${ tplData . fatigue } ` ,
` <b>Difficulté</b>: ${ tplData . difficulte } ` ,
` <b>Points de Tâche</b>: ${ tplData . points _de _tache } ` ,
` <b>Points de Tâche atteints</b>: ${ tplData . points _de _tache _courant } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_livreChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Compétence</b>: ${ tplData . competence } ` ,
` <b>Auteur</b>: ${ tplData . auteur } ` ,
` <b>Difficulté</b>: ${ tplData . difficulte } ` ,
` <b>Points de Tâche</b>: ${ tplData . points _de _tache } ` ,
` <b>Encombrement</b>: ${ tplData . encombrement } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_potionChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Rareté</b>: ${ tplData . rarete } ` ,
` <b>Catégorie</b>: ${ tplData . categorie } ` ,
` <b>Encombrement</b>: ${ tplData . encombrement } ` ,
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_queueChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Refoulement</b>: ${ tplData . refoulement } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_ombreChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Refoulement</b>: ${ tplData . refoulement } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_souffleChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [ ] ;
return properties ;
}
/* -------------------------------------------- */
_teteChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [ ] ;
return properties ;
}
/* -------------------------------------------- */
_tarotChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Concept</b>: ${ tplData . concept } ` ,
` <b>Aspect</b>: ${ tplData . aspect } ` ,
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_nombreastralChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Valeur</b>: ${ tplData . value } ` ,
` <b>Jour</b>: ${ tplData . jourlabel } ` ,
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_monnaieChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Valeur en Deniers</b>: ${ tplData . valeur _deniers } ` ,
` <b>Encombrement</b>: ${ tplData . encombrement } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_meditationChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Thème</b>: ${ tplData . theme } ` ,
` <b>Compétence</b>: ${ tplData . competence } ` ,
` <b>Support</b>: ${ tplData . support } ` ,
` <b>Heure</b>: ${ tplData . heure } ` ,
` <b>Purification</b>: ${ tplData . purification } ` ,
` <b>Vêture</b>: ${ tplData . veture } ` ,
` <b>Comportement</b>: ${ tplData . comportement } ` ,
` <b>Case TMR</b>: ${ tplData . tmr } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
/* -------------------------------------------- */
_casetmrChatData ( ) {
2021-04-11 18:47:00 +02:00
const tplData = Misc . templateData ( this ) ;
2021-01-01 21:11:56 +01:00
let properties = [
2021-04-11 18:47:00 +02:00
` <b>Coordonnée</b>: ${ tplData . coord } ` ,
` <b>Spécificité</b>: ${ tplData . specific } `
2021-01-01 21:11:56 +01:00
]
return properties ;
}
}