From dc57058465b3e9becfa2e2acab8caa900190e465 Mon Sep 17 00:00:00 2001 From: sladecraven Date: Fri, 1 Jan 2021 21:11:56 +0100 Subject: [PATCH] 88 Gestion argent/commerce --- icons/objets/.directory | 4 +- icons/objets/piece_argent_sol.webp | Bin 0 -> 15312 bytes icons/objets/piece_bronze_epees.webp | Bin 0 -> 15518 bytes icons/objets/piece_etain_poisson.webp | Bin 0 -> 15208 bytes icons/objets/piece_or_sol.webp | Bin 0 -> 15500 bytes module/actor.js | 45 ++-- module/item-rdd.js | 307 ++++++++++++++++++++++++++ module/item-sheet.js | 14 ++ module/rdd-utility.js | 44 +++- packs/equipement.db | 18 +- styles/simple.css | 29 ++- templates/actor-sheet.html | 2 + templates/post-item.html | 26 +++ 13 files changed, 459 insertions(+), 30 deletions(-) create mode 100644 icons/objets/piece_argent_sol.webp create mode 100644 icons/objets/piece_bronze_epees.webp create mode 100644 icons/objets/piece_etain_poisson.webp create mode 100644 icons/objets/piece_or_sol.webp create mode 100644 module/item-rdd.js create mode 100644 templates/post-item.html diff --git a/icons/objets/.directory b/icons/objets/.directory index a0f4debc..a74062ca 100644 --- a/icons/objets/.directory +++ b/icons/objets/.directory @@ -1,6 +1,6 @@ [Dolphin] -SortOrder=1 -Timestamp=2020,11,21,8,49,55 +SortRole=modificationtime +Timestamp=2021,1,1,20,0,59 Version=4 ViewMode=1 VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails diff --git a/icons/objets/piece_argent_sol.webp b/icons/objets/piece_argent_sol.webp new file mode 100644 index 0000000000000000000000000000000000000000..69e826f05050a159f805deced00468fdd55bee27 GIT binary patch literal 15312 zcmV;>J1@jiNk&GVncpv-vX|$kucrTho6m$&I=ifEb854B9r5v~KyM-o4ug zK}1ZzfTV4abk5K2p0K&+f$Scz`(BXcSXw}Wf+GNuBBiRk_wMkRj0f=l2k;A0cX#W; zor)tSU;^yew(T~Obk6%9Kmi-}fmZ zBPzpXv~AnAZQHhO+qT_Zwrv~9$iVl#clM7!X5BIRjqm-7hzX!%+iu)QdQ@$pYX8gY zEBj~#;0*{ma}?)b77-H=DG(8SoZzFxO#$Sl+?3mLQ*O&mxh*&4P>@5}%c1P$P}r`@ zYEV@Ub~dF}yM5=|UgL;}Dx!)iqKe8@6%kdG{8IU)3pp=(S@iOg^0P|-1z0S8VY9aZ zIc|>SFSY@M2INox0a^gr3qSx8Ktxsc`-93wd&5Y#(@KR>Qj()QXSqKp!)Bc!q!d0x z@GgB!_HyVg*?S;|a_C*M_YUuoy*mK}5WqWx0ozqnHr@##srcEZJ(P-+TB#_CA{DKo zNUfqMidNCKFRh}=(kjy`(=<)9(yaRZFRLuGOv|*YtTfHavZ~5bOD(l5wY0=ii>yEX zRw)Hl=x%x^4K&As4T?MOud=kNin3~0H5`sHXDwsQG3K0Oj5%hFR#Bv)RTQZxQc5;zi$8?2JH6mBWdP22|zVqq|`HF;x`~yat6`VDsDo z$J@5NmMju?T`q6K(UU_uTIqn{^;$-H)MUby=0l{_L(9J=1~h z)dV*9#Qn~_+Ci}1By*b~#U@8p&g>elJ}V+vTlTbI)BMYRX$N=>fs*$gPQ(^R>UMU~ z;G(h$+ZYhp_h7`P-JbaKQVy>}7WZ5(h7#T$i9L60+%*i&jR>2S()I}W+<)m$9RXfN zme73|PR62OuZmrr&JEjmh3pGPZG8IoY{IJuNO1Qd1%0Hwid{zcs;KN0AV-o>w4eGb zJB$G&NIqal;gGafch|9WjafycU72On*z>+c7{>}o;_i!`;e?RV4SUxE^IId(3OTpP zC`KOlTU=QILJ|*RSec}B0N3l{Ho%CqBjEIg7k<+bgus%lyACb7N@?%whlOS1m3yqB z`;=eV6*dV-<6}b%rMc^g@aj9f8hie?h%m-Uq`NG&hZNo*rH$7Y3JfA^yrTW;ugFm$ zKzam2%P}y08RX>Es)RU=RS$JVfIQQ+GTFD9h>Ro5RWiO8V`1FI@IyigZ9d5FlhM+39C z@lF0`8*!V3;YHDgo^mKbM6S(qYveUw3T*Mn<>5tYK_`p8NNX3s?(vs?J;2y_E;3rT#mLaBW=P?f;ZJT2^ywg9bTQ3eX zR`#;kCL*%QvF`JKyZi`-nt{7nY)1X_BS!DFf9MT2Di|e4w@>#+j9cD`;pPBFvPjYY z`H;77H0-eRD6~GU4;dPEh+NRmzkSSxoaGYABT;=DsO3fIWl^H_G*E*DyPHKK`hB3v z9ni}J_47c*d_Jn52CCQuojgSA|AFdWnGK?U57fwI`JnteP#2L)Y<|jd+I9la&LRQ* zQsZ>xicThiUl`}^(Lj+!fcp6wr#%i$(9Q+w$2e{JH>7stqSpH~&Hqg>QssjBI!*ij z9?{7}L0^XH;@@lodXWdHJ`Gd*r+~UuE{NY|X~$&;A?QXnI8F247KpBMQT;qii+@6p z5$LB`I>$!P%i~tme`je9Vbjf`0AZSDFhEy1n1JP%8l?#YqDvOF;rChUwGGfyE~4KU z<%MaS70S13lm;^h(@EJtJ*`nHXKaaH9nQbRw6fRA1<mWy zWSSOc1&Uli^wTUY%_89{ivUo+I!fi7getPk4Smj0idi8d@)2Gfr8KLA?0nFtSsI@a zqRL`*@WLpM&Ph^44g?_hv_^?p302NvZ75I7@?KIBkps1XFV`$hOOl<#%ER+8O-QK9 zf@q|irPwGDk;7_4W0n@DB?Vd3whzoCnG6y#XVK24KK3g@FbP3@it zaa@p+iaX=PIEB2U9q%qTe{z?Wefoe`0f`aDd#O)EJM z8{|D_iJ3%J;_Wa^DTQ)K&hI%)b6|4P+hLkSRu0t:Rz6yz9g`#nwbGoT!bR(xle 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 literal 0 HcmV?d00001 diff --git a/icons/objets/piece_bronze_epees.webp b/icons/objets/piece_bronze_epees.webp new file mode 100644 index 0000000000000000000000000000000000000000..572637af5b1e54911f3316ca2c05e2afa8ad52f5 GIT binary patch literal 15518 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:Rz6yz9g`#nwbGoT!bR(xle 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 literal 0 HcmV?d00001 diff --git a/icons/objets/piece_etain_poisson.webp b/icons/objets/piece_etain_poisson.webp new file mode 100644 index 0000000000000000000000000000000000000000..4c57feba6b482ab79584f88d9abf9c471c00f4ce GIT binary patch literal 15208 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:Rz6yz9g`#nwbGoT!bR(xle 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:Rz6yz9g`#nwbGoT!bR(xle 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 Oxz4A~u402=umAv>xEjX* literal 0 HcmV?d00001 diff --git a/module/actor.js b/module/actor.js index 5d0a7414..463c1a4d 100644 --- a/module/actor.js +++ b/module/actor.js @@ -98,35 +98,35 @@ export class RdDActor extends Actor { /** * Prepare Character type specific data */ - _prepareCharacterData(actorData) { + async _prepareCharacterData(actorData) { // Initialize empty items RdDUtility.computeCarac(actorData.data); this.computeEncombrementTotalEtMalusArmure(); this.computeEtatGeneral(); - this.checkMonnaiePresence(); + await this.checkMonnaiePresence(); } /* -------------------------------------------- */ - checkMonnaiePresence( ) { // Ajout opportuniste si les pièces n'existent pas. + async checkMonnaiePresence( ) { // Ajout opportuniste si les pièces n'existent pas. let piece = this.data.items.find( item => item.type =='monnaie' && Number(item.data.valeur_deniers) == 1); if (!piece) { - let piece = RdDUtility.createMonnaie("Etain (1 denier)", 1); - this.createOwnedItem( piece ); + let piece = RdDUtility.createMonnaie("Etain (1 denier)", 1, "systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp" ); + const updated = await this.createOwnedItem( piece ); } piece = this.data.items.find( item => item.type =='monnaie' && Number(item.data.valeur_deniers) == 10); if (!piece) { - let piece = RdDUtility.createMonnaie("Bronze (10 deniers)", 10); - this.createOwnedItem( piece ); + let piece = RdDUtility.createMonnaie("Bronze (10 deniers)", 10, "systems/foundryvtt-reve-de-dragon/icons/objets/piece_bronze_epees.webp"); + const updated = await this.createOwnedItem( piece ); } piece = this.data.items.find( item => item.type =='monnaie' && Number(item.data.valeur_deniers) == 100); if (!piece) { - let piece = RdDUtility.createMonnaie("Argent (1 sol)", 100); - this.createOwnedItem( piece ); + let piece = RdDUtility.createMonnaie("Argent (1 sol)", 100, "systems/foundryvtt-reve-de-dragon/icons/objets/piece_argent_sol.webp"); + const updated = await this.createOwnedItem( piece ); } piece = this.data.items.find( item => item.type =='monnaie' && Number(item.data.valeur_deniers) == 1000); if (!piece) { - let piece = RdDUtility.createMonnaie("Or (10 sols)", 1000); - this.createOwnedItem( piece ); + let piece = RdDUtility.createMonnaie("Or (10 sols)", 1000, "systems/foundryvtt-reve-de-dragon/icons/objets/piece_or_sol.webp"); + const updated = await this.createOwnedItem( piece ); } } @@ -2147,7 +2147,7 @@ export class RdDActor extends Actor { } /* -------------------------------------------- */ - payerDenier( sumDenier ) { + async payerDenier( sumDenier, dataObj ) { sumDenier = Number(sumDenier); let denierDisponible = 0; let monnaie = this.data.items.filter( item => item.type =='monnaie'); @@ -2155,16 +2155,27 @@ export class RdDActor extends Actor { denierDisponible += piece.data.valeur_deniers * Number(piece.data.quantite); } console.log("DENIER", game.user.character, sumDenier, denierDisponible); + + let msg = ""; if ( denierDisponible >= sumDenier) { denierDisponible -= sumDenier; this.optimizeArgent(denierDisponible); + msg = `Vous avez payé ${sumDenier} Deniers, qui ont été soustraits de votre argent.`; } else { - let message = { - whisper: ChatUtility.getWhisperRecipientsAndGMs( this.name ), - content : "Vous n'avez pas assez d'argent pour paye cette somme !" - }; - ChatMessage.create( message ); + msg = "Vous n'avez pas assez d'argent pour paye cette somme !"; } + + if ( dataObj ) { + dataObj.payload.data.cout = sumDenier / 100; // Mise à jour du prix en sols , avec le prix acheté + await this.createOwnedItem( dataObj.payload ); + msg += `
Et l'objet ${dataObj.payload.name} a été ajouté à votre inventaire.`; + } + + let message = { + whisper: ChatUtility.getWhisperRecipientsAndGMs( this.name ), + content : msg + }; + ChatMessage.create( message ); } /* -------------------------------------------- */ diff --git a/module/item-rdd.js b/module/item-rdd.js new file mode 100644 index 00000000..e77f0e39 --- /dev/null +++ b/module/item-rdd.js @@ -0,0 +1,307 @@ +import { RdDUtility } from "./rdd-utility.js"; + +/* -------------------------------------------- */ +export class RdDItem extends Item { + + /* -------------------------------------------- */ + async postItem() { + console.log(this); + const properties = this[`_${this.data.type}ChatData`](); + let chatData = duplicate(this.data); + chatData["properties"] = properties + + //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 + if (chatData.hasPrice ) + { + let sols = chatData.data.cout; + chatData.data.cout_deniers = Math.floor(sols * 100); + dialogResult = await new Promise( (resolve, reject) => {new Dialog({ + content : + ` + +

Modifier la prix?

+
+ + +
+ `, + title : "Quantité", + buttons : { + post : { + label : "Soumettre", + callback: (dlg) => { + resolve( [ dlg.find('[name="quantity"]').val(), dlg.find('[name="price"]').val() ] ) + } + }, + } + }).render(true) + }) + } + + if (dialogResult[0] > 0) + { + if (this.isOwned) + { + if (this.data.data.quantite == 0) + dialogResult[0] = -1 + else if (this.data.data.quantite < dialogResult[0]) + { + dialogResult[0] = this.data.data.quantite + ui.notifications.notify(`Impossible de poster plus que ce que vous avez. La quantité à été réduite à ${dialogResult[0]}.`) + this.update({"data.quantite" : 0}) + } + else { + ui.notifications.notify(`Quantité réduite par ${dialogResult[0]}.`) + this.update({"data.quantite" : this.data.data.quantite - dialogResult[0]}) + } + } + } + + if (dialogResult[0] > 0) + chatData.postQuantity = dialogResult[0]; + if (dialogResult[1] > 0) { + chatData.postPrice = dialogResult[1]; + chatData.data.cout_deniers = Math.floor(dialogResult[1] * 100); // Mise à jour cout en deniers + } + // 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; + + // JSON object for easy creation + chatData.jsondata = JSON.stringify( + { + compendium : "postedItem", + payload: this.data, + }); + + renderTemplate('systems/foundryvtt-reve-de-dragon/templates/post-item.html', chatData).then(html => { + let chatOptions = RdDUtility.chatDataSetup(html); + ChatMessage.create(chatOptions) + }); + } + + /* -------------------------------------------- */ + _objetChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Encombrement: ${data.encombrement}` + ] + return properties; + } + /* -------------------------------------------- */ + _armeChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Compétence: ${data.competence}`, + `Dommages: ${data.dommages}`, + `Force minimum: ${data.force}`, + `Resistance: ${data.resistance}`, + `Encombrement: ${data.encombrement}` + ] + return properties; + } + /* -------------------------------------------- */ + _conteneurChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Capacité: ${data.capacite} Enc.`, + `Encombrement: ${data.encombrement}` + ] + return properties; + } + /* -------------------------------------------- */ + _munitionChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Encombrement: ${data.encombrement}` + ] + return properties; + } + /* -------------------------------------------- */ + _armureChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Protection: ${data.protection}`, + `Détérioration: ${data.deterioration}`, + `Malus armure: ${data.malus}`, + `Encombrement: ${data.encombrement}` + ] + return properties; + } + /* -------------------------------------------- */ + _competenceChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Catégorie: ${data.categorie}`, + `Niveau: ${data.niveau}`, + `Caractéristique par défaut: ${data.carac_defaut}`, + `XP: ${data.xp}` + ] + return properties; + } + /* -------------------------------------------- */ + _competencecreatureChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Catégorie: ${data.categorie}`, + `Niveau: ${data.niveau}`, + `Caractéristique: ${data.carac_value}`, + `XP: ${data.xp}` + ] + return properties; + } + /* -------------------------------------------- */ + _sortChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Draconic: ${data.draconic}`, + `Difficulté: ${data.difficulte}`, + `Case TMR: ${data.caseTMR}`, + `Points de Rêve: ${data.ptreve}` + ] + return properties; + } + /* -------------------------------------------- */ + _herbeChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Milieu: ${data.milieu}`, + `Rareté: ${data.rarete}`, + `Catégorie: ${data.categorie}`, + ] + return properties; + } + /* -------------------------------------------- */ + _ingredientChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Milieu: ${data.milieu}`, + `Rareté: ${data.rarete}`, + `Catégorie: ${data.categorie}`, + ] + return properties; + } + /* -------------------------------------------- */ + _tacheChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Caractéristique: ${data.carac}`, + `Compétence: ${data.competence}`, + `Périodicité: ${data.periodicite}`, + `Fatigue: ${data.fatigue}`, + `Difficulté: ${data.difficulte}`, + `Points de Tâche: ${data.points_de_tache}`, + `Points de Tâche atteints: ${data.points_de_tache_courant}` + ] + return properties; + } + /* -------------------------------------------- */ + _livreChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Compétence: ${data.competence}`, + `Auteur: ${data.auteur}`, + `Difficulté: ${data.difficulte}`, + `Points de Tâche: ${data.points_de_tache}`, + `Encombrement: ${data.encombrement}` + ] + return properties; + } + /* -------------------------------------------- */ + _potionChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Rareté: ${data.rarete}`, + `Catégorie: ${data.categorie}`, + `Encombrement: ${data.encombrement}`, + ] + return properties; + } + /* -------------------------------------------- */ + _queueChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Refoulement: ${data.refoulement}` + ] + return properties; + } + /* -------------------------------------------- */ + _ombreChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Refoulement: ${data.refoulement}` + ] + return properties; + } + /* -------------------------------------------- */ + _souffleChatData() { + const data = duplicate(this.data.data); + let properties = []; + return properties; + } + /* -------------------------------------------- */ + _teteChatData() { + const data = duplicate(this.data.data); + let properties = []; + return properties; + } + /* -------------------------------------------- */ + _tarotChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Concept: ${data.concept}`, + `Aspect: ${data.aspect}`, + ] + return properties; + } + /* -------------------------------------------- */ + _nombreastralChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Valeur: ${data.value}`, + `Jour: ${data.jourlabel}`, + ] + return properties; + } + /* -------------------------------------------- */ + _monnaieChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Valeur en Deniers: ${data.valeur_deniers}`, + `Encombrement: ${data.encombrement}` + ] + return properties; + } + /* -------------------------------------------- */ + _meditationChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Thème: ${data.theme}`, + `Compétence: ${data.competence}`, + `Support: ${data.support}`, + `Heure: ${data.heure}`, + `Purification: ${data.purification}`, + `Vêture: ${data.veture}`, + `Comportement: ${data.comportement}`, + `Case TMR: ${data.tmr}` + ] + return properties; + } + /* -------------------------------------------- */ + _casetmrChatData() { + const data = duplicate(this.data.data); + let properties = [ + `Coordonnée: ${data.coord}`, + `Spécificité: ${data.specific}` + ] + return properties; + } + +} diff --git a/module/item-sheet.js b/module/item-sheet.js index 4b216f39..836b456b 100644 --- a/module/item-sheet.js +++ b/module/item-sheet.js @@ -1,5 +1,6 @@ import { RdDItemSort } from "./item-sort.js"; import { RdDUtility } from "./rdd-utility.js"; +import { RdDItem } from "./item-rdd.js"; /** * Extend the basic ItemSheet with some very simple modifications @@ -19,7 +20,20 @@ export class RdDItemSheet extends ItemSheet { } /* -------------------------------------------- */ + _getHeaderButtons() { + let buttons = super._getHeaderButtons(); + // Add "Post to chat" button + // We previously restricted this to GM and editable items only. If you ever find this comment because it broke something: eh, sorry! + buttons.unshift( + { + class: "post", + icon: "fas fa-comment", + onclick: ev => new RdDItem(this.item.data).postItem() + }) + return buttons + } + /* -------------------------------------------- */ /** @override */ setPosition(options={}) { const position = super.setPosition(options); diff --git a/module/rdd-utility.js b/module/rdd-utility.js index c4672192..dfe8fb23 100644 --- a/module/rdd-utility.js +++ b/module/rdd-utility.js @@ -195,7 +195,9 @@ export class RdDUtility { 'systems/foundryvtt-reve-de-dragon/templates/editor-notes-mj.html', // HUD 'systems/foundryvtt-reve-de-dragon/templates/hud-actor-init.html', - 'systems/foundryvtt-reve-de-dragon/templates/hud-actor-attaque.html' + 'systems/foundryvtt-reve-de-dragon/templates/hud-actor-attaque.html', + // POST + 'systems/foundryvtt-reve-de-dragon/templates/post-item.html' ]; return loadTemplates(templatePaths); @@ -886,14 +888,23 @@ export class RdDUtility { // Gestion du bouton payer html.on("click", '#payer-button', event => { let sumdenier = event.currentTarget.attributes['data-somme-denier'].value; - if (game.user.character ) - game.user.character.payerDenier(sumdenier); + let jsondata = event.currentTarget.attributes['data-jsondata'].value + let objData + if ( jsondata) + objData = JSON.parse(jsondata) + console.log("Demande payr : ", objData); + if (game.user.character ) { + game.user.character.payerDenier(sumdenier, objData); + } else { + let msgPayer = "Vous devez avoir un acteur relié pour effectuer le paiement"; + ChatMessage.create( { content: msgPayer, whisper: [game.user] } ); + } }); } /* -------------------------------------------- */ - static createMonnaie( name, valeur_deniers, enc = 0.01) { - let piece = { name: name, type: 'monnaie', _id: randomID(), + static createMonnaie( name, valeur_deniers, img = "", enc = 0.01) { + let piece = { name: name, type: 'monnaie', _id: randomID(), img: img, data: { quantite: 0, valeur_deniers: valeur_deniers, @@ -921,7 +932,28 @@ export class RdDUtility { let sumtotald = sumd + (sums*100); let msgPayer = "La somme de "+sums+" Sols et "+sumd+" Deniers est à payer, cliquer sur le lien ci-dessous si besoin.
"; - msgPayer += "Payer" + msgPayer += "Payer" ChatMessage.create( { content: msgPayer } ); } + + /* -------------------------------------------- */ + static chatDataSetup(content, modeOverride, isRoll = false, forceWhisper) { + let chatData = { + user: game.user._id, + rollMode: modeOverride || game.settings.get("core", "rollMode"), + content: content + }; + + if (["gmroll", "blindroll"].includes(chatData.rollMode)) chatData["whisper"] = ChatMessage.getWhisperRecipients("GM").map(u => u.id); + if (chatData.rollMode === "blindroll") chatData["blind"] = true; + else if (chatData.rollMode === "selfroll") chatData["whisper"] = [game.user]; + + if (forceWhisper) { // Final force ! + chatData["speaker"] = ChatMessage.getSpeaker(); + chatData["whisper"] = ChatMessage.getWhisperRecipients(forceWhisper); + } + + return chatData; + } + } diff --git a/packs/equipement.db b/packs/equipement.db index 405075ac..3d9e964d 100644 --- a/packs/equipement.db +++ b/packs/equipement.db @@ -1,7 +1,7 @@ {"_id":"0Vgscex1VV4ybSUQ","name":"Bonnet de laine","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.05,"equipe":false,"resistance":0,"qualite":0,"cout":0.06},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/bonnet_laine.webp","effects":[]} {"_id":"0ylGrNMzulUaKFP9","name":"Boralm","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"ingredient","data":{"description":"

Poudre brune apparaissant sur les parois des grottes.

\n

VUE/Alchimie à -1.

","niveau":0,"encombrement":0.001,"base":0,"quantite":1,"milieu":"Cavernes","rarete":"","categorie":"Alchimie","cout":0.03},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/boralm.webp","effects":[]} {"_id":"1Dc4KzZageae7lhI","name":"Balles de jongleur","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":4,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.32},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/balle_jongleur.webp","effects":[]} -{"_id":"1O7IJiQSDYxJ5VsD","name":"Bouclier moyen","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"","quantite":1,"encombrement":2,"equipe":false,"dommages":"0","force":"11","resistance":15,"competence":"Bouclier","cout":6,"portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_moyen.webp","effects":[]} +{"_id":"1O7IJiQSDYxJ5VsD","name":"Bouclier moyen","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"","quantite":1,"encombrement":2,"equipe":false,"dommages":"0","force":"11","resistance":15,"competence":"Bouclier","cout":6,"portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"rapide":false,"deuxmains":false,"unemain":false,"penetration":null},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_moyen.webp","effects":[]} {"_id":"2y61gBIFbATQaKDl","name":"1 m2 de laine","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.2,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_laine.webp","effects":[]} {"_id":"3DJePXhrDWQxbUeM","name":"Dé à jouer en os","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.01,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/des_en_os.webp","effects":[]} {"_id":"3Wk5dzp3M7Das6wh","name":"Épée dragonne","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

C’est une épée longue, plus robuste que l’esparlongue, pouvant également frapper de taille.

","quantite":1,"encombrement":2,"equipe":false,"dommages":"3","force":"11","resistance":12,"competence":"Epée à 1 main","cout":20,"portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"rapide":true,"deuxmains":false,"unemain":true},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/epee_dragonne.webp","effects":[]} @@ -96,7 +96,7 @@ {"_id":"SsnGNjTekvB50uWa","name":"Chapeau de cuir souple","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.08,"equipe":false,"resistance":0,"qualite":0,"cout":0.5},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/chapeau_cuir.webp","effects":[]} {"_id":"T9UiLcJonuHmGNwq","name":"Sols (pièces d'argent)","permission":{"default":0,"Q2G6GTdrotKzYGUC":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.005,"equipe":false,"resistance":0,"qualite":0,"cout":1},"flags":{},"img":"icons/commodities/currency/coins-assorted-mix-silver.webp","effects":[]} {"_id":"TY6Ft8a6WfxD6pD9","name":"Bobineau de fil","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.01,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/bobineau.webp","effects":[]} -{"_id":"U6qli6TPbzj8tUdH","name":"Arme d’hast","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"","quantite":1,"encombrement":4,"equipe":false,"dommages":"4","force":"12","resistance":8,"competence":"Dague","cout":10,"portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"rapide":false,"deuxmains":true,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/hast.webp","effects":[]} +{"_id":"U6qli6TPbzj8tUdH","name":"Arme d’hast","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"","quantite":1,"encombrement":4,"equipe":false,"dommages":"4","force":"12","resistance":8,"competence":"Dague","cout":10,"portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"rapide":false,"deuxmains":true,"unemain":false,"penetration":null},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/hast.webp","effects":[]} {"_id":"UDmq6CY3NsttcHe4","name":"Peigne en corne","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.04,"equipe":false,"resistance":0,"qualite":0,"cout":0.4},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/peigne.webp","effects":[]} {"_id":"UICiMF3wBeLsqm8L","name":"Pipe en bois","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.04,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/pipe.webp","effects":[]} {"_id":"UMfXFhVhdoVQVEKy","name":"Fronde","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Peut tirer tous les rounds.

","quantite":1,"encombrement":0.08,"equipe":false,"dommages":1,"force":0,"resistance":0,"competence":"Fronde","cout":0.6,"portee_courte":8,"portee_moyenne":15,"portee_extreme":25,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/fronde.webp","effects":[]} @@ -129,7 +129,7 @@ {"_id":"dBR6KXvfmjjIcwsc","name":"Pilon en marbre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.2},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/pilon.webp","effects":[]} {"_id":"eK28jEeQiJdd93L3","name":"Bouclier léger","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"","quantite":1,"encombrement":1,"equipe":false,"dommages":"0","force":"8","resistance":13,"competence":"Bouclier","cout":4,"portee_courte":0,"portee_moyenne":0,"portee_extreme":0,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/bouclier_petit.webp","effects":[]} {"_id":"fAzYb7kkW6QxG6i6","name":"Graisse à Bottes 500g","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.2,"equipe":false,"resistance":0,"qualite":0,"cout":0.3},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/graisse_a_cuir.webp","effects":[]} -{"_id":"fDwsTMuug0Z5BdaA","name":"Cuir / Metal","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"armure","data":{"description":"

Cuir épais clouté, ou petites plaquettes, écailles ou anneaux de fer cousus sur le cuir. Pectoral ou cotte de cuir/métal + jupon ou cuissards de cuir / métal sur culottes de cuir souple + bottes de cuir / métal + casque de métal.

\n

 

","quantite":1,"encombrement":4,"equipe":false,"protection":4,"deterioration":0,"malus":-2,"cout":20},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/cuir_metal.webp","effects":[]} +{"_id":"fDwsTMuug0Z5BdaA","name":"Cuir / Metal","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"armure","data":{"description":"

Cuir épais clouté, ou petites plaquettes, écailles ou anneaux de fer cousus sur le cuir. Pectoral ou cotte de cuir/métal + jupon ou cuissards de cuir / métal sur culottes de cuir souple + bottes de cuir / métal + casque de métal.

\n

 

","quantite":1,"encombrement":4,"equipe":false,"protection":"4","deterioration":0,"malus":-2,"cout":20},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/armes_armures/cuir_metal.webp","effects":[]} {"_id":"fLKFTvLWoj7juxQE","name":"Flèche, carreau","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/fleche.webp","effects":[]} {"_id":"gYFprGGUUVG1Apcf","name":"Carquois","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"conteneur","data":{"description":"","capacite":2,"encombrement":0.1,"equipe":false,"qualite":0,"contenu":[],"cout":0.5},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/carquois.webp","effects":[]} {"_id":"gfU7oZL1JYqF3lAW","name":"Robe de lin","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.6},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/robe_lin.webp","effects":[]} @@ -152,7 +152,7 @@ {"_id":"keLCmhsbxHK39UIy","name":"Mirobolant","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"potion","data":{"description":"

Fluide.

\n

Liquide rougeâtre clair et sans dépot.

","quantite":1,"encombrement":0.1,"rarete":"","categorie":"Alchimie","cout":2},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/mirobolant.webp","effects":[]} {"_id":"lJMKVPB5zlG9UqMD","name":"Pourpoint de velours","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.2,"equipe":false,"resistance":0,"qualite":0,"cout":8},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/pourpoint_velours.webp","effects":[]} {"_id":"lKkYFkzWVs2TZDZP","name":"Petit pot de fard","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.04,"equipe":false,"resistance":0,"qualite":0,"cout":0.3},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/fard.webp","effects":[]} -{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1 round.

","quantite":1,"encombrement":3,"equipe":false,"dommages":"3","force":0,"resistance":0,"competence":"Arbalète","cout":30,"portee_courte":15,"portee_moyenne":30,"portee_extreme":70,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","effects":[]} +{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1 round.

","quantite":1,"encombrement":3,"equipe":false,"dommages":"3","force":"0","resistance":0,"competence":"Arbalète","cout":30,"portee_courte":15,"portee_moyenne":30,"portee_extreme":70,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","effects":[]} {"_id":"lq7pjDQESNbZOQ3n","name":"1 m2 de soie ou de velours","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0,"equipe":false,"resistance":0,"qualite":0,"cout":3},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/tissu_velours.webp","effects":[]} {"_id":"m9yuZjp9DK7pSqPK","name":"Lanterne à bougie","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"conteneur","data":{"description":"","capacite":0.1,"encombrement":1,"equipe":false,"qualite":0,"contenu":[],"cout":3},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/lanterne_bougie.webp","effects":[]} {"_id":"mOZodpJYobvmZO9o","name":"Le Narcolepton","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"livre","data":{"description":"

Cet ouvrage ne peut être assimilé que si l’on possède un niveau minimum de zéro en voie de Narcos. Il confère un bonus de synthèse de +3 aux sept Écailles de Protection présentées dans les règles (Venin, Maladie, Feu, Magie, Projectiles, Lames, Griffes et crocs), mais aucun bonus de points de sorts. Sa difficulté de lecture est de -4, son assimilation requiert 24 points de tâche, périodicité une heure.

","auteur":"anonyme","quantite":1,"difficulte":-4,"points_de_tache":24,"encombrement":0,"xp":"","cout":0},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/competence_narcos.png","effects":[]} @@ -200,3 +200,13 @@ {"_id":"zQWlnUsd8bPySujd","name":"Aiguille à coudre","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":1,"encombrement":0.01,"equipe":false,"resistance":0,"qualite":0,"cout":0.1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/aiguille.webp","effects":[]} {"_id":"zYI8mDiysWtmsSyy","name":"Carquois","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"conteneur","data":{"description":"","capacite":2,"encombrement":0.1,"equipe":false,"qualite":0,"cout":0.5},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/carquois.webp","effects":[]} {"_id":"zlDa1vwmls6Uf4pt","name":"Bourse de cuir","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"conteneur","data":{"description":"","capacite":0.5,"encombrement":0.01,"equipe":false,"qualite":0,"contenu":[],"cout":0.1},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/bourse.webp","effects":[]} +{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1 round.

","quantite":1,"encombrement":3,"equipe":false,"dommages":"3","force":"0","resistance":0,"competence":"Arbalète","cout":34,"portee_courte":15,"portee_moyenne":30,"portee_extreme":70,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","effects":[]} +{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1 round.

","quantite":1,"encombrement":3,"equipe":false,"dommages":"3","force":"0","resistance":0,"competence":"Arbalète","cout":30,"portee_courte":15,"portee_moyenne":30,"portee_extreme":70,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","effects":[]} +{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1 round.

","quantite":1,"encombrement":3,"equipe":false,"dommages":"3","force":"0","resistance":0,"competence":"Arbalète","cout":30,"portee_courte":15,"portee_moyenne":30,"portee_extreme":70,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","effects":[]} +{"_id":"iGHudg5kBOfYWgwV","name":"Arc","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1/2 round (s'il tire en début de round, il pourra recharger durant le reste du round pour tirer de nouveau au début du round suivant).

","quantite":1,"encombrement":1,"equipe":false,"dommages":"2","force":"0","resistance":0,"competence":"Arc","cout":10,"portee_courte":10,"portee_moyenne":20,"portee_extreme":50,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arc.webp","effects":[]} +{"_id":"iCvphbPdxUcfqetd","name":"Aumônière","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"conteneur","data":{"description":"

Comme une bourse, mais sous forme d'une coque en cuir rigide.

","capacite":0.25,"encombrement":0,"equipe":false,"qualite":0,"cout":0.2,"contenu":[]},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/aumoniere.webp","effects":[]} +{"_id":"lOI2HVu3B6EDY4sE","name":"Arbalète","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1 round.

","quantite":1,"encombrement":3,"equipe":false,"dommages":"3","force":"0","resistance":0,"competence":"Arbalète","cout":30,"portee_courte":15,"portee_moyenne":30,"portee_extreme":70,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arbalete.webp","effects":[]} +{"_id":"iGHudg5kBOfYWgwV","name":"Arc","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1/2 round (s'il tire en début de round, il pourra recharger durant le reste du round pour tirer de nouveau au début du round suivant).

","quantite":1,"encombrement":1,"equipe":false,"dommages":"2","force":"0","resistance":0,"competence":"Arc","cout":10,"portee_courte":10,"portee_moyenne":20,"portee_extreme":50,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arc.webp","effects":[]} +{"_id":"iCvphbPdxUcfqetd","name":"Aumônière","permission":{"default":0,"jOzRscDxoXZWpGS6":3},"type":"conteneur","data":{"description":"

Comme une bourse, mais sous forme d'une coque en cuir rigide.

","capacite":0.25,"encombrement":0,"equipe":false,"qualite":0,"cout":0.2,"contenu":[]},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/aumoniere.webp","effects":[]} +{"_id":"iGHudg5kBOfYWgwV","name":"Arc","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"arme","data":{"description":"

Nie jusqu'à 2 points d'armure.

\n

Rechargement 1/2 round (s'il tire en début de round, il pourra recharger durant le reste du round pour tirer de nouveau au début du round suivant).

","quantite":1,"encombrement":1,"equipe":false,"dommages":"2","force":"0","resistance":0,"competence":"Arc","cout":10,"portee_courte":10,"portee_moyenne":20,"portee_extreme":50,"penetration":2,"rapide":false,"deuxmains":false,"unemain":false},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/arc.webp","effects":[]} +{"_id":"1Dc4KzZageae7lhI","name":"Balles de jongleur","permission":{"default":0,"rYShh2P1DNavdoBD":3},"type":"objet","data":{"description":"","quantite":4,"encombrement":0.1,"equipe":false,"resistance":0,"qualite":0,"cout":0.32},"flags":{},"img":"systems/foundryvtt-reve-de-dragon/icons/objets/balle_jongleur.webp","effects":[]} diff --git a/styles/simple.css b/styles/simple.css index e190cb0d..2bf7790a 100644 --- a/styles/simple.css +++ b/styles/simple.css @@ -1249,4 +1249,31 @@ display: inline-flex; .tooltip:hover .tooltiptext { visibility: visible; opacity: 1; -} \ No newline at end of file +} + +.chat-card-button { + box-shadow: inset 0px 1px 0px 0px #a6827e; + background: linear-gradient(to bottom, #21374afc 5%, #152833ab 100%); + background-color: #7d5d3b00; + border-radius: 3px; + border: 2px ridge #846109; + display: inline-block; + cursor: pointer; + color: #ffffff; + font-family: CaslonPro; + font-size: 14px; + padding: 4px 12px 0px 12px; + text-decoration: none; + text-shadow: 0px 1px 0px #4d3534; + position: relative; + margin:5px; +} + +.chat-card-button:hover { + background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); + background-color: red; +} +.chat-card-button:active { + position:relative; + top:1px; +} diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index 5efded6b..69803ff8 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -614,9 +614,11 @@ {{!-- Equipment Tab --}}
+ Argent et Monnaies -
    {{#each data.monnaie as |piece id|}}
  • + {{piece.name}} {{piece.data.quantite}} +- diff --git a/templates/post-item.html b/templates/post-item.html new file mode 100644 index 00000000..c21cda21 --- /dev/null +++ b/templates/post-item.html @@ -0,0 +1,26 @@ +
    +

    {{name}}

    + {{#if img}} + + {{/if}} + +
    {{{data.description}}}
    + + {{#each properties as |property p|}} + {{{property}}}
    + {{/each}} +
    + {{#if postPrice}} + Prix: {{postPrice}} Sols + {{/if}} + {{#if postQuantity}} + Quantité: {{postQuantity}} + {{/if}} +
    + {{#if hasPrice}} + + Payer + + {{/if}} + +