forked from public/foundryvtt-reve-de-dragon
		
	Compare commits
	
		
			23 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 0456221cf7 | |||
| 583b4ff003 | |||
| b4ac906802 | |||
| 395c7a4cc3 | |||
| 27bc07f64a | |||
| 2f3ec7bab0 | |||
| 8d39a0526f | |||
| f83548b91e | |||
| 90d17a3477 | |||
| fb15f3eb38 | |||
| 4df0eab574 | |||
| c8d589f0d2 | |||
| d7470836a5 | |||
| 817fa8e62a | |||
| 0fe4f64343 | |||
| d6b5b0a550 | |||
| c9d87851bd | |||
| 5b48fda3d0 | |||
| abae85157b | |||
| da2dca1769 | |||
| 6e405ea753 | |||
| a96f4bf641 | |||
| a0f42204d5 | 
| @@ -64,13 +64,13 @@ jobs: | ||||
|           system.json | ||||
|         api_key: '${{secrets.ALLOW_PUSH_RELEASE}}' | ||||
|  | ||||
|     #- name: Publish to Foundry server | ||||
|     #  uses: djlechuck/foundryvtt-publish-package-action@v1 | ||||
|     #  with: | ||||
|     #    token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }} | ||||
|     #    id: 'foundryvtt-reve-de-dragon' | ||||
|     #    version: ${{github.event.release.tag_name}} | ||||
|     #    manifest: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/system.json' | ||||
|     #    notes: 'https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/branch/v13/changelog.md' | ||||
|     #    compatibility-minimum: '13' | ||||
|     #    compatibility-verified: '13' | ||||
|     - name: Publish to Foundry server | ||||
|       uses: djlechuck/foundryvtt-publish-package-action@v1 | ||||
|       with: | ||||
|         token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }} | ||||
|         id: 'foundryvtt-reve-de-dragon' | ||||
|         version: ${{github.event.release.tag_name}} | ||||
|         manifest: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/system.json' | ||||
|         notes: 'https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/branch/v13/changelog.md' | ||||
|         compatibility-minimum: '13' | ||||
|         compatibility-verified: '13' | ||||
							
								
								
									
										124
									
								
								changelog.md
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								changelog.md
									
									
									
									
									
								
							| @@ -1,21 +1,55 @@ | ||||
| # 13.0 | ||||
| ## 13.0.6 - Le bandage d'Illysis | ||||
|  | ||||
| - Les soins sont de nouveau disponibles depuis les tokens | ||||
| - Correction des boutons de la feuille simplifiée | ||||
| - On peut de nouveau acheter dans les commerces | ||||
|  | ||||
| ## 13.0.5 | ||||
|  | ||||
| - Export CSV/Scriptarium à nouveau disponible dans les menus d'acteurs | ||||
|  | ||||
| ## 13.0.4 - Le long discours d'Illysis | ||||
|  | ||||
| - On peut de nouveau modifier les descriptions | ||||
| - ne pas proposer l'export csv par défaut | ||||
| - Correction de la macro "Jet quelconque" | ||||
| - Correction de la ligne 'rêve actuel' ajoutée dans les caracs | ||||
| - Corrections d'affichage | ||||
|   - boutons de l'horloge | ||||
|   - boutons de déplacement des TMR | ||||
|   - modification des messages de tchat | ||||
|  | ||||
| ## 13.0.3 - La dernière auberge d'Illysis | ||||
|  | ||||
| - On peut de nouveau acheter aux commerces | ||||
| - La description des Grizzal a des espaces | ||||
| - Corrections v13 | ||||
|   - Affichage des images et noms d'objets en ligne | ||||
|   - affichage des compétences de créature sur une ligne | ||||
|   - Affichage des informations d'acteur sur une ligne dans l'astrologie | ||||
|   - Affichage des résultat de recherche | ||||
|  | ||||
| ## 13.0.0 - Le début de l'errance d'Illysis | ||||
|  | ||||
| - Migration vers la version 13 de Foundry | ||||
|  | ||||
| # 12.0 | ||||
|  | ||||
| ## 12.0.50 - Le sommeil d'Astrobazzarh | ||||
|  | ||||
| - Le don de double rêve n'interrompt plus le sommeil toutes les heures | ||||
| - la perte de fatigue à la descente des TMR est visible immédiatement | ||||
|  | ||||
| ## 12.0.49 - La deuxième lame d'Astrobazzarh | ||||
|  | ||||
| - Corrections | ||||
|   - les défenses particulières sont correctement affichées | ||||
|   - les vieux boucliers (sans catégorie de parade car créés il y a longtemps) peuvent parer... | ||||
|   - Les attaques à distance n'ont pas de difficulté libre | ||||
|  | ||||
| ## 12.0.48 - La chèvre d'Astrobazzarh | ||||
|  | ||||
| - le Bandersnatch a une protection de 10 | ||||
| - la consistance chèvre est maintenant possible dans les recettes | ||||
|   alchimiques (et toutes les consistances avec accents) | ||||
| @@ -24,10 +58,12 @@ | ||||
| - Correction: les réussites particulières fonctionnent avec les caractéristiques dérivées | ||||
|  | ||||
| ## 12.0.47 | ||||
|  | ||||
| - Correction sur les mise à jour en cascade - | ||||
| - Correction sur le force rendering après un changement de competence | ||||
|  | ||||
| ## 12.0.46 - Le double demi d'Astrobazzarh | ||||
|  | ||||
| - correction des raffraîchissement lors du sommeil qui empêchait de dormir | ||||
|   plusieurs heures | ||||
| - Si la fatigue n'est pas utilisée, les rounds dans les TMR font perdre de l'endurance (au lieu d'en gagner) | ||||
| @@ -54,18 +90,22 @@ | ||||
| - Correction des jets `@roll[vue/-2]` qui tentaient de chercher une compétence -2 (à cause des armes à 1/2 mains) | ||||
|  | ||||
| ## 12.0.41 - La loupe d'Astrobazzarh | ||||
|  | ||||
| - On peut de nouveau effectuer des tirages cachés | ||||
| - Le stress transformé est bien diminué lorsqu'on met le stress dans une compétence | ||||
|  | ||||
| ## 12.0.40 - Les mains d'Astrobazzarh | ||||
|  | ||||
| - correction des attaques particulières en combat | ||||
| - correction de message sur les min/max liés aux modificateurs de races (s'applique uniquement sur la taille) | ||||
|  | ||||
| ## 12.0.39 - Les mains d'Astrobazzarh | ||||
|  | ||||
| - les armes à 1 ou 2 mains fonctionnent dans les liens de jets de dés | ||||
| - commande `/jet` pour poster une demande de jet de dés | ||||
|  | ||||
| ## 12.0.38 - Les prévisions d'Astrobazzarh | ||||
|  | ||||
| - Correction de modifications de personnages qui ne s'affichaient pas: | ||||
|   - changements d'endurance/vie/fatigue, transformé, ... | ||||
| - Migration des compétences "Ecriture" en "Écriture" dans les tâches, livres, oeuvres et méditations | ||||
| @@ -75,12 +115,14 @@ | ||||
|   - utilisation de l'extension hbs pour tous les fichiers handlebars | ||||
|  | ||||
| ## 12.0.37 - Les enchantements d'Astrobazzarh | ||||
|  | ||||
| - les potions ont un état, seules les potions liquides sont enchantables | ||||
| - les lancements de sorts du jour sont conservés jusqu'à chateau dormant | ||||
| - lorsqu'un joueur souhaite enchanter une potion, les sorts d'enchantements/purification/permanence doivent avoir été lancés auparavant | ||||
| - on peut enchanter des gemmes exactement comme des potions | ||||
|  | ||||
| ## 12.0.36 - L'alchimie d'Astrobazzarh | ||||
|  | ||||
| - Nouveautés | ||||
|   - ajout d'un bouton pour enchanter les potions | ||||
|   - standardisation des boutons d'actions sur les items | ||||
| @@ -95,9 +137,11 @@ | ||||
|   - Corrections de descriptions pour proposer les jet de dés | ||||
|  | ||||
| ## 12.0.35 - La Solution d'Astrobazzarh | ||||
|  | ||||
| - Fix problème d'initialisation des feuilles d'items | ||||
|  | ||||
| ## 12.0.34 - la tête d'Astrobazzarh | ||||
|  | ||||
| - support de liens "jets de dés" | ||||
|   - on peut ajouter des liens "jet de dés" dans les journaux, descriptions, notes, maladresses, ... | ||||
|   - avec la syntaxe `@roll[...]` on peut ajouter le lien vers: | ||||
| @@ -112,28 +156,35 @@ | ||||
| - gestion des blocs secrets dans les descriptions | ||||
|  | ||||
| ## 12.0.33 - la vieillesse d'Astrobazzarh | ||||
|  | ||||
| - retour de l'expérience pour les joueurs | ||||
| - suppression du message "Pas de caractéristique" sur les jets d'odorat-goût | ||||
|  | ||||
| ## 12.0.32 - les rêveries d'Astrobazzarh | ||||
|  | ||||
| - Ajout des Items Race pour gérer les ajustements liés aux races | ||||
|  | ||||
| ## 12.0.31 - le mausolée d'Astrobazzarh | ||||
|  | ||||
| - Correction: les automatisation de combat jouer-MJ fonctionnentde nouveau | ||||
|  | ||||
| ## 12.0.30 - le cauchemar d'Astrobazzarh | ||||
|  | ||||
| - calcul automatique du niveau des entités selon leur rêve | ||||
| - la description des créatures venimeuses contient un lien vers leur venin | ||||
| - Correction: les messages de combats ne marchaient plus (Changement combiné Foundry + rêve de Dragon) | ||||
|  | ||||
| ## 12.0.29 - L'indexation d'Astrobazzarh | ||||
|  | ||||
| - les liens dans la descriptions des sorts pointent vers les sorts du compendium | ||||
| - la description du chrasme contient le lien vers son venin plutôt qu'un tableau | ||||
|  | ||||
| ## 12.0.28 - Les réserves d'Astrobazzarh | ||||
|  | ||||
| - possibilité de mettre en réserve depuis un sort connu | ||||
|  | ||||
| ## 12.0.27 - Les vêtements d'Astrobazzarh | ||||
|  | ||||
| - Ajout de la liste des armures dans l'onglet caractéristiques | ||||
| - Ajout d'une option pour choisir une carte des TMR alternatives | ||||
| - Le Gardien peut créer des sorts en réserve parmi les sorts d'un personnage | ||||
| @@ -154,12 +205,14 @@ | ||||
|   - les modèles de personnages non joueurs sont non-liés par défaut | ||||
|  | ||||
| ## 12.0.26 - Astrobazzarh le Haut-rêvant | ||||
|  | ||||
| - bouton pour le don de haut-rêve en un clic | ||||
| - les compétences de draconic ne sont plus précédées de "Voie de" | ||||
|   - migration des compétences & compendiums | ||||
| - Correction feuille simplifiée qui ne s'affichait pas en cas de sort variable | ||||
|  | ||||
| ## 12.0.24 - Les ajustements d'Astrobazzarh | ||||
|  | ||||
| - amélioration | ||||
|   - meilleure gestion des noms des voies de draconic | ||||
|   - affichage du détail des sorts avec le nom de voie, 'court', la difficulté, le coût | ||||
| @@ -169,6 +222,7 @@ | ||||
|   - on peut maintenant saisir et supprimer les bonus de cases de manière intuitive | ||||
|  | ||||
| ## 12.0.23 - La bibliothèque d'Astrobazzarh | ||||
|  | ||||
| - corrections mineures | ||||
|   - meilleure gestion de la parade des armes naturelles | ||||
|   - cas de "User lacks permission to update" pour les blessures et les StatusEffects | ||||
| @@ -184,19 +238,23 @@ | ||||
|   - dans les compendiums, les compétences Écriture et Épée ont une majuscule accentuée. Les Épée dans le compendium d'équipements référence le nom de compétence accentué. | ||||
|  | ||||
| ## 12.0.21 - La nomination d'Astrobazzarh | ||||
|  | ||||
| - Les noms pour les messages dans le tchat sont maintenant ceux des tokens plutôt que ceux des acteurs | ||||
| - Fix: le choix des effets dans les options s'affiche correctement | ||||
|  | ||||
| ## 12.0.20 - Le tableau d'Astrobazzarh | ||||
|  | ||||
| - Ecran d'accueil officiel Scriptarium | ||||
|  | ||||
| ## 12.0.19 - La témérité d'Astrobazzarh | ||||
|  | ||||
| - Fix | ||||
|   - les défenses des créatures sont correctement filtrées | ||||
|   - le lancer d'initiative pour tous les personnages/PNJs fonctionne correctement | ||||
|   - les lieux et commerces n'ont pas d'initiative | ||||
|  | ||||
| ## 12.0.18 - A la barbe d'Astrobazzarh | ||||
|  | ||||
| - Améliorations sur la feuille de PNJ simplifiée | ||||
|   - Ajout du portrait | ||||
|   - Ajout du corps à corps | ||||
| @@ -213,11 +271,13 @@ | ||||
| - Ajout d'un indicateur pour les armes de parade nécessitant une significative | ||||
|  | ||||
| ## 12.0.16 - Le secret d'Astrobazzarh | ||||
|  | ||||
| - Fix: les jets envoyés messages uniquement au MJ ne sont plus envoyés à tous les autres joueurs (et dupliqués) | ||||
| - Les noms affichés dans les automatisations de combat sont maintenant ceux des tokens plutôt que ceux des acteurs | ||||
| - Ajout d'une option pour la localisation des blessures | ||||
|  | ||||
| ## 12.0.15 - Le messager d'Astrobazzarh | ||||
|  | ||||
| - Correction des faces de dés personalisés dice-so-nice | ||||
| - Les messages de maladies ne sont plus publics | ||||
| - Les messages privés dans les TMR sont aussi envoyés au GM | ||||
| @@ -225,6 +285,7 @@ | ||||
| - Amélioration du rendu des tables de compendiums (commande /table) | ||||
|  | ||||
| ## 12.0.14 - Les légions d'Astrobazzarh | ||||
|  | ||||
| - Feuille de PNJ: | ||||
|   - boutons standard (encaissement, ...) | ||||
|   - boutons pour ajuster les compteurs | ||||
| @@ -233,15 +294,18 @@ | ||||
|   - gestion des armes | ||||
|  | ||||
| ## 12.0.13 - La Chance d'Astrobazzarh | ||||
|  | ||||
| - Fix: jets de caractéristiques | ||||
|  | ||||
| ## 12.0.12 - L'étalage d'Astrobazzarh | ||||
|  | ||||
| - Fix: On peut de nouveau vendre des items sans propriétaire, depuis les compendiums ou depuis l'onglet des Objets | ||||
| - Début de Feuille PNJ au format des encarts Scriptarium | ||||
|   - support des jets de caractéristiques | ||||
|   - support des jets de compétences | ||||
|  | ||||
| ## 12.0.11 - Le scriptorium d'Astrobazzarh | ||||
|  | ||||
| - ajout d'un bouton pour générer les éléments de description d'un personnage | ||||
| - ajout du logo en background dans la liste des systèmes Foundry | ||||
| - ajout d'un champ pour le métier | ||||
| @@ -250,10 +314,12 @@ | ||||
|   - export de l'esquive avec armure et sans armure | ||||
|  | ||||
| ## 12.0.9 - 12.0.10 - Le scriptorium d'Astrobazzarh | ||||
|  | ||||
| - corrections de l'export scriptarium | ||||
| - ajout d'une fonction avancée pour un exporter "scriptarium" des personnages | ||||
|  | ||||
| ## 12.0.8 - La quincaillerie d'Astrobazzarh | ||||
|  | ||||
| - le propriétaire est indiqué dans les feuilles d'équipements/compétences/... | ||||
| - Ecaille d'efficacité | ||||
|   - l'écaille d'efficacité est prise en compte même si on n'utilise pas le ciblage en combat | ||||
| @@ -263,6 +329,7 @@ | ||||
|   - le tooltip de l'initiative affiche correctement l'initiative | ||||
|  | ||||
| ## 12.0.7 - La propriété d'Astrobazzarh | ||||
|  | ||||
| - correction des opérations faites à la création d'un Item: | ||||
|   - la durée des queues/rencontres/souffles | ||||
|   - les effets draconiques d'un souffle/queue | ||||
| @@ -277,6 +344,7 @@ | ||||
| - la commande /voyage affiche maintenant les compétences liées au terrain | ||||
|  | ||||
| ## 12.0.6 - Le bazar d'Astrobazzarh | ||||
|  | ||||
| - Corrections de l'inventaire en bazar: | ||||
|   - un problème pouvait survenir en déplaçant les objets | ||||
|     l'inventaire, qui fait qu'un conteneur se retrouve récursivement dans son | ||||
| @@ -291,22 +359,26 @@ | ||||
| - Fix: restaurer la compatibilité Foundry 11 | ||||
|  | ||||
| ## 12.0.5 - Les mauvais jours d'Astrobazzarh | ||||
|  | ||||
| - Fix: on peut de nouveau ouvrir l'édition de calendrier | ||||
| - Fix: on ne peut plus ouvrir plusieurs fenêtres de lancer de sort | ||||
| - Fix: Failed to execute 'getComputedStyle' on 'Window' | ||||
|  | ||||
| ## 12.0.4 - La plaie d'Astrobazzarh | ||||
|  | ||||
| - **Support V12** | ||||
|   - Fix: les boutons d'encaissement dans le tchat fonctionnent de nouveau | ||||
|   - Fix warnings sur "Die" et AudioHelper | ||||
|  | ||||
| ## 12.0.3 - L'hémorragie d'Astrobazzarh | ||||
|  | ||||
| - **Support V12** | ||||
|   - On peut de nouveau ouvrir un acteur blessé après redémarrage du monde | ||||
|   - On peut de nouveau ouvrir les Items avec une rareté par environnement | ||||
|   - Le choix de ne plus afficher les demandes de suppression est bien pris en compte | ||||
|  | ||||
| ## 12.0.2 - Les pluies d'Astrobazzarh | ||||
|  | ||||
| - **Support V12** | ||||
|   - correction des actions techniques déleguées au MJ qui bloquaient les fenêtre de lancer de dés des joueurs (et plein d'autres) | ||||
|   - la fenêtre de calendrier s'ouvre correctement | ||||
| @@ -321,13 +393,16 @@ | ||||
|   - correction d'erreurs intempestives 'User ... lacks permission to update ...' | ||||
|  | ||||
| # 11.2 | ||||
|  | ||||
| ## 11.2.21 - Le questionnement d'Akarlikarlikar | ||||
|  | ||||
| - Une confirmation spécifique est demandée pour monter dans les terres médianes en cas de rencontre en attente | ||||
| - L'expérience en caractéristique sur les jets de chance et rêve actuels est mise dans la caractéristique correspondante | ||||
| - Les effets s'appliquent correctement sur les créatures | ||||
| - La date et l'heure (draconiques) sont affichées dans les messages du tchat | ||||
|  | ||||
| ## 11.2.20 - Le soulagement d'Akarlikarlikar | ||||
|  | ||||
| - L'option "ajout de la difficulté d'attaque à l'encaissement" est affichée comme un modificateur d'encaissement | ||||
| - Les options d'encaissement alternatives fonctionnent avec la validation de l'encaissement par le gardien | ||||
| - La fenêtre d'astrologie du gardien affiche toutes les heures lues par un personnage | ||||
| @@ -337,12 +412,15 @@ | ||||
| - Les messages de récupération de rêve en cas de Rêve de Dragon sont clarifiés | ||||
|  | ||||
| ## 11.2.19 - Les hémorroïdes d'Akarlikarlikar | ||||
|  | ||||
| - La validation des jets d'encaissement par le Gardien fonctionne de nouveau | ||||
|  | ||||
| ## 11.2.18 - Le bourrichon d'Akarlikarlikar | ||||
|  | ||||
| - Les différentes listes de la feuille de personnage ont maintenant le bouton pour envoyer dans le tchat | ||||
|  | ||||
| ## 11.2.17 - Le cache-oeil d'Akarlikarlikar | ||||
|  | ||||
| - Le titre des fenêtre d'objet affiche de nouveau le type traduit | ||||
| - Les tooltips des boutons edit/delete sont maintenant en Français | ||||
| - La case à cocher "Cacher les points de tâches" fonctionne de nouveau | ||||
| @@ -351,35 +429,43 @@ | ||||
| - La fenêtre des TMRs ne devrait plus afficher une zone noire au lieu de la carte. | ||||
|  | ||||
| ## 11.2.16 - Le Tri d'Akarlikarlikar | ||||
|  | ||||
| - Tri alphabétique des items dans la fenêtre de création | ||||
| - Mise à jour comptage de monde | ||||
|  | ||||
| ## 11.2.15 - La Table d'Akarlikarlikar | ||||
|  | ||||
| - Tirage automatique de la foce d'une rencontre (via la commande /tmrr) | ||||
| - Ajout de boutons pour ajouter des blessures "complètes" (ie avec perte d'endurance/vie) | ||||
|  | ||||
| ## 11.2.14 - Les petits pas d'Akarlikarlikar | ||||
|  | ||||
| - Correction sur la gestion de la surprise | ||||
| - Ordre des messages sur les cases humides | ||||
|  | ||||
| ## 11.2.13 - Les cent pas d'Akarlikarlikar | ||||
|  | ||||
| - Ajout de la commande /voyage pour gérer la fatigue de marche des voyageurs | ||||
|  | ||||
| ## 11.2.12 - Le somnifère  d'Akarlikarlikar | ||||
|  | ||||
| - Fix: les potions enchantées n'empêchent plus de finir correctement Château Dormant | ||||
|  | ||||
| ## 11.2.11 - Le miroir d'Akarlikarlikar | ||||
|  | ||||
| - Changement des images de compétence de créatures morsure/pinces pour être dans le thème | ||||
| - Suppression de la bordure autour des portraits d'acteurs, remplacés par un légèr éclaircissement du fond | ||||
| - Fix: le refoulement ajoute correctement un souffle et revient à 0 en cas d'échec | ||||
|  | ||||
| ## 11.2.10 - Les expériences d'Akarlikarlikar | ||||
|  | ||||
| - En cas d'expérience des caractéristiques dérivées, | ||||
|   - si plusieurs caractéristiques pourraient recevoir l'expérience, une fenêtre demande au joueur | ||||
|   - si une seule caractéristique peut recevoir de l'expérience, c'est attribué automatiquement | ||||
| - Si la force est au maximum pour la taille personnage, on ne peut plus gagner d'expérience | ||||
|  | ||||
| ## 11.2.9 - La barbe d'Akarlikarlikar | ||||
|  | ||||
| - Amélioration des textes de tooltips | ||||
| - Les tooltips sont plus dans le thème de couleur du système Rêve de Dragon | ||||
| - Ajouts d'icones pour les attaque/initiative/soins dans les raccourcis sur les tokens (HUD) | ||||
| @@ -391,19 +477,23 @@ | ||||
| - Changement de l'icône d'état d'empoignade pour suivre les couleurs des autres icônes d'état | ||||
|  | ||||
| ## 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 | ||||
| @@ -422,11 +512,14 @@ | ||||
|     ne bloquent plus les jets de dés | ||||
|  | ||||
| ## v11.2.1 - La technique d'Akarlikarlikar | ||||
|  | ||||
| - On peut créer des armes pour Corps à corps et Esquive. Barreaux de chaise, armes improvisées, techniques d'art martiaux, pas de côté pour faire trébucher l'adversaire... A vous de voir comment imaginer de nouvelles "armes". | ||||
| - Les armes avec une résistance de 0 ne peuvent pas être utilisées, une image et un rappel indiquent qu'elles sont cassées | ||||
|  | ||||
| Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||
|  | ||||
| ## v11.2.0 - Les Terres médianes d'Akarlikarlikar | ||||
|  | ||||
| - Les TMRs sont redimensionables | ||||
| - Nouveaux graphismes plus lisibles dans les TMRs | ||||
| - Nouveau code couleur des icônes dans les TMR: | ||||
| @@ -440,12 +533,15 @@ Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||
| - Fix: Les jets d'encaissement forcés par le gardien à un résultat inférieur à 11 ne peuvent plus donner un deuxième d10 négatif | ||||
|  | ||||
| # v11.1 | ||||
|  | ||||
| ## v11.1.6 - Les dissections de Werther de Zloth | ||||
|  | ||||
| - Fix: on peut de nouveau donner des compétences aux créatures | ||||
| - Fix: le délai de guérison d'une blessure rétrogradée est correctement appliqué | ||||
| - Fix: l'encaissement à valider par le MJ fonctionne de nouveau | ||||
|  | ||||
| ## v11.1.5 - Werther de Zloth l'Onirique | ||||
|  | ||||
| - Fixes: | ||||
|   - la demande de défense ne marchait plus | ||||
|   - la tête réserve extensible crée bien une case de réserve extensible (à modifier) | ||||
| @@ -460,6 +556,7 @@ Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||
|   - pas de jets de vie pour les morts | ||||
|  | ||||
| ## v11.1.4 - Werther de Zloth l'Onirique | ||||
|  | ||||
| - Ajout du facteur de significative à côté du pourcentage dans le résultat des jets de dés pour rappeler que le pourcentage n'est pas diviasé | ||||
| - Fix: dans les TMRs, les tooltips affichent bien les informations de tous les effets sur la case | ||||
| - Fix: la fatigue et l'éthylisme sont de nouveau pris en compte dans le calcul de l'éthylisme | ||||
| @@ -469,15 +566,18 @@ Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||
| - Esthétique: ne pas afficher "+0" pour les ajustements de jets/encaissement | ||||
|  | ||||
| ## v11.1.2 - Les vertèbres de Werther de Zloth | ||||
|  | ||||
| - Fix: les jets d'encaissement fonctionnent de nouveau normalement | ||||
| - Macro "Mon personnage" permettant au joueur d'accéder à sa feuille de personnage depuis la barre de macros | ||||
|  | ||||
| ## v11.1.1 - Les fumebols de Werther de Zloth | ||||
|  | ||||
| - Fix: on peut de nouveau afficher les vues détaillées | ||||
| - Fix: on peut ouvrir les sacs et contenants portés par les véhicules et créatures | ||||
| - Fix: cuisiner du gibier prend maintenant bien les proportaions en compte | ||||
|  | ||||
| ## v11.1.0 - Les choix de Werther de Zloth | ||||
|  | ||||
| - Les options suivantes peuvent être désactivées: | ||||
|   - La transformation de stress à Château Dormant | ||||
|   - La récuperation de chance à Château Dormant | ||||
| @@ -495,7 +595,9 @@ Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||
|   - en cas de charge, les particulières sont toujours en force (p125) | ||||
|  | ||||
| # v11.0 | ||||
|  | ||||
| ## v11.0.28 - les fractures de Khrachtchoum | ||||
|  | ||||
| - La gravité de la blessure est affichée dans le résumé de l'encaissement | ||||
| - Lors du changement d'acteur pendant le round | ||||
|   - le message annonçant le joueur dont c'est le tour ne contient plus d'informations de santé | ||||
| @@ -507,12 +609,14 @@ Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||
|   - le moral est indiqué avant l'icone d'appel au moral | ||||
|  | ||||
| ## v11.0.27 - Khrachtchoum le méticuleux | ||||
|  | ||||
| - le tooltip dans les TMR reste visible si on ne bouge pas la souris | ||||
| - le surencombrement n'affecte QUE les actions physiques | ||||
| - on peut de nouveau fabriquer une potion depuis la fenêtre d'édition de l'herbe | ||||
| - si les TMR sont minimisées alors qu'une action est requise, elles sont bien réaffichées lorsque l'action est faite | ||||
|  | ||||
| ## v11.0.26 - le crépuscule de Khrachtchoum | ||||
|  | ||||
| - gestion correcte des TMRs | ||||
|   - les TMRs ne sont jamais minimisées (par le système) quand le haut-rêvant est en demi-rêve | ||||
|   - lorsqu'une fenêtre liée aux demi-rêve est affichée, cliquer sur les TMRs n'a pas d'effet | ||||
| @@ -531,45 +635,57 @@ Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||
| - les jets de compétences d'attaque des créatures fonctionnent de nouveau | ||||
|  | ||||
| ## v11.0.25 - la vision du rêve de Khrachtchoum | ||||
|  | ||||
| - Les TMRs restent affichées tant que le Haut-rêvant est en demi-rêve | ||||
|  | ||||
| ## v11.0.24 - les couleurs de Khrachtchoum | ||||
|  | ||||
| - nouvelle carte des TMRs | ||||
|  | ||||
| ## v11.0.23 - la lumière de Khrachtchoum | ||||
|  | ||||
| - ajustement automatique de la luminosité selon l'heure pour les scènes: | ||||
|    - avec une vision des tokens (sinon: ce n'est pas une scène de carte pour tokens) | ||||
|    - avec illumination globale (correspondant à une illumination extérieure) | ||||
|    - quand lampe "allumée" dans la fenêtre du calendrier | ||||
|   - avec une vision des tokens (sinon: ce n'est pas une scène de carte pour tokens) | ||||
|   - avec illumination globale (correspondant à une illumination extérieure) | ||||
|   - quand lampe "allumée" dans la fenêtre du calendrier | ||||
|  | ||||
| ## v11.0.22 - les automatismes de Khrachtchoum le Problémeux | ||||
|  | ||||
| - Macro pour attaquer avec les compétences de créatures | ||||
|  | ||||
| ## v11.0.20 | ||||
|  | ||||
| - Macro pour attaquer avec les armes des personnages | ||||
|  | ||||
| ## v11.0.17 | ||||
|  | ||||
| - Fix: les actions de commerce ne s'appliquait pas bien aux personnages des tokens non liés | ||||
|  | ||||
| ## v11.0.15 - L'apprentissage de Khrachtchoum | ||||
|  | ||||
| - Fix: l'expérience ne s'appliquait plus sur certaines réussites particulières (régression depuis la 11.0.7) | ||||
|  | ||||
| ## v11.0.14 - Les pincettes de Khrachtchoum le Problémeux | ||||
|  | ||||
| - Correction du calcul de la place restante lors de l'ajout dans un conteneur | ||||
|  | ||||
| ## v11.0.13 - La multiplication de l'eau de Khrachtchoum le Problémeux | ||||
|  | ||||
| - Correction de la vente depuis un commerce ayant des quantités illimitées | ||||
|  | ||||
| ## v11.0.12 - Les poids de la mesure de Khrachtchoum le Problémeux | ||||
|  | ||||
| - Correction des malus de surencombrement | ||||
| - Le malus armure est correctement affiché dans l'onglet des caractéristiques | ||||
| - Correction d'orthographe et amélioration des messages des oeuvres d'art | ||||
|  | ||||
| ## v11.0.11 - Les bleus de Khrachtchoum le Problémeux | ||||
|  | ||||
| - si le gardien configure le sommeil, les joueurs sont notifiés que chateau dormant vient de passer | ||||
| - possibilité de créer des armes et des compétences de créatures non-mortelles. | ||||
|  | ||||
| ## v11.0.10 - Les Songes de Khrachtchoum le Problémeux | ||||
|  | ||||
| - on peut de nouveau se déplacer dans les TMRs d'un clic sur la case à atteindre | ||||
| - Lire un livre depuis l'inventaire permet de nouveau de faire un jet de la tâche | ||||
|   créée au lieu de créer toujours une nouvelle tâche | ||||
| @@ -580,12 +696,14 @@ Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||
|   les heures dormies sont déduites des heures restant à dormir | ||||
|  | ||||
| ## v11.0.9 - Les Souvenirs de Khrachtchoum le Problémeux | ||||
|  | ||||
| - mode de saisie de l'archétype en vue détaillée | ||||
| - création  une nouvelle incarnation depuis l'archétype | ||||
| - réorganisation de la fenêtre de sélection des règles optionnelles | ||||
| - correction de l'affichage du type dans les fenêtres d'objets | ||||
|  | ||||
| ## v11.0.8 - la poigne de Sémolosse | ||||
|  | ||||
| - lien vers le changelog | ||||
| - organisation des compendiums du système | ||||
| - correction de l'empoignade | ||||
|   | ||||
| @@ -79,6 +79,11 @@ select, | ||||
| :root { | ||||
|   /* =================== 2. DEBUGGING HIGHLIGHTERS ============ */ | ||||
|   /* =================== 3. some constants ============ */ | ||||
|   --fieldset-background: url(/ui/parchment.jpg); | ||||
|   --rdd-color-text-primary: rgba(10, 10, 10, 0.9); | ||||
|   --rdd-input-background: rgba(0, 0, 0, 0.05); | ||||
|   --rdd-color-border-input: rgba(0, 0, 0, 0.2); | ||||
|   --rdd-bg-input: rgba(255, 255, 255, 0.1); | ||||
|   --color-controls: rgba(0, 0, 0, 0.9); | ||||
|   --color-controls-light: hsla(0, 0%, 20%, 0.8); | ||||
|   --color-controls-hover: hsla(60, 100%, 75%, 0.7); | ||||
| @@ -139,30 +144,274 @@ select, | ||||
|   /*when navigating through the items using the arrow keys:*/ | ||||
|   /*************************************************************/ | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .application.sheet.fvtt-rdd .window-content { | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content { | ||||
|   padding: 0px; | ||||
|   background: #011d33 url(../assets/ui/bg_header.webp) no-repeat left top; | ||||
|   color: #ffffff; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .editor, | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .editor-content { | ||||
|   height: auto; | ||||
|   min-height: 100px; | ||||
|   background: var(--rdd-bg-input-alt); | ||||
|   padding: 5px; | ||||
|   border-radius: 3px; | ||||
|   color: var(--rdd-color-text-primary); | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .window-content { | ||||
|   font-family: CaslonAntique; | ||||
|   text-align: justify; | ||||
|   font-size: 1rem; | ||||
|   letter-spacing: 1px; | ||||
|   padding: 0% 0 0 0; | ||||
|   font-size: calc(var(--font-size-standard) * 1); | ||||
|   color: var(--color-dark-1); | ||||
|   background: var(--background-image-base) no-repeat; | ||||
|   background-size: 100% 100%; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .application.sheet.fvtt-rdd section.window-content { | ||||
|   padding: 0rem; | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content fieldset { | ||||
|   background: var(--fieldset-background); | ||||
|   color: var(--rdd-color-text-primary); | ||||
|   margin-bottom: 4px; | ||||
|   border-radius: 6px; | ||||
|   border-color: var(--rdd-color-text-primary); | ||||
|   border-width: 2px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .application.sheet.fvtt-rdd section.window-content section header.sheet-header { | ||||
|   background: #011d33 url(../assets/ui/bg_header.webp) no-repeat left top; | ||||
|   color: #ffffff; | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .form-group { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   flex-wrap: wrap; | ||||
|   justify-content: flex-start; | ||||
|   align-items: center; | ||||
|   padding: 2px 0; | ||||
|   border-bottom: 1px solid var(--rdd-color-shadow-primary); | ||||
|   font-size: 0.9rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .application.sheet.fvtt-rdd section.window-content section header.sheet-header :is( | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .form-group label { | ||||
|   font-weight: normal; | ||||
|   flex: 2; | ||||
|   padding-left: 5px; | ||||
|   margin: 0; | ||||
|   color: var(--rdd-color-text-primary); | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .form-group .attribute-value, | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .form-group input[type="text"], | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .form-group input[type="number"], | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .form-group select { | ||||
|   flex: 3; | ||||
|   background: var(--rdd-input-background); | ||||
|   border: 1px solid var(--rdd-color-border-input); | ||||
|   color: var(--rdd-color-text-input); | ||||
|   padding: 2px 2px; | ||||
|   border-radius: 3px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .form-group input[type="checkbox"] { | ||||
|   flex: 0 0 20px; | ||||
|   margin-left: 5px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .sheet-header-row { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   align-items: center; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .sheet-header-row h1, | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content .sheet-header-row input { | ||||
|   font-family: CaslonAntique; | ||||
|   font-size: 2.5rem; | ||||
|   font-weight: normal; | ||||
|   color: var(--window-header-title-color); | ||||
|   margin: 4px; | ||||
|   height: 3rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .monnaie-content :is( | ||||
|     input[type="text"], | ||||
|     input[type="number"], | ||||
|     input[type="password"], | ||||
|     input[type="datetime-local"], | ||||
|     input[type="date"], | ||||
|     input[type="time"]) { | ||||
|     input[type="time"] | ||||
|   ) { | ||||
|   color: rgba(255, 255, 255, 0.75); | ||||
|   background: rgba(255, 255, 255, 0.1); | ||||
|   border: 0 none; | ||||
|   margin-bottom: 0.2rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content { | ||||
|   padding: 0px; | ||||
|   background: #011d33 url(../assets/ui/bg_header.webp) no-repeat left top; | ||||
|   color: #ffffff; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .editor, | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .editor-content { | ||||
|   height: auto; | ||||
|   min-height: 100px; | ||||
|   background: var(--rdd-bg-input-alt); | ||||
|   padding: 5px; | ||||
|   border-radius: 3px; | ||||
|   color: var(--rdd-color-text-primary); | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .window-content { | ||||
|   font-family: CaslonAntique; | ||||
|   text-align: justify; | ||||
|   font-size: 1rem; | ||||
|   letter-spacing: 1px; | ||||
|   padding: 0% 0 0 0; | ||||
|   font-size: calc(var(--font-size-standard) * 1); | ||||
|   color: var(--color-dark-1); | ||||
|   background-size: 100% 100%; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content fieldset { | ||||
|   background: var(--fieldset-background); | ||||
|   color: var(--rdd-color-text-primary); | ||||
|   margin-bottom: 4px; | ||||
|   border-radius: 6px; | ||||
|   border-color: var(--rdd-color-text-primary); | ||||
|   border-width: 2px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .form-group { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   flex-wrap: wrap; | ||||
|   justify-content: flex-start; | ||||
|   align-items: center; | ||||
|   padding: 2px 0; | ||||
|   border-bottom: 1px solid var(--rdd-color-shadow-primary); | ||||
|   font-size: 0.9rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .form-group label { | ||||
|   font-weight: normal; | ||||
|   flex: 2; | ||||
|   padding-left: 5px; | ||||
|   margin: 0; | ||||
|   color: var(--rdd-color-text-primary); | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .form-group .attribute-value, | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .form-group input[type="text"], | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .form-group input[type="number"], | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .form-group select { | ||||
|   flex: 3; | ||||
|   background: var(--rdd-input-background); | ||||
|   border: 1px solid var(--rdd-color-border-input); | ||||
|   color: var(--rdd-color-text-input); | ||||
|   padding: 2px 2px; | ||||
|   border-radius: 3px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .form-group input[type="checkbox"] { | ||||
|   flex: 0 0 20px; | ||||
|   margin-left: 5px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .sheet-header-row { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   align-items: center; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .sheet-header-row h1, | ||||
| .system-foundryvtt-reve-de-dragon .munition-content .sheet-header-row input { | ||||
|   font-family: CaslonAntique; | ||||
|   font-size: 2.5rem; | ||||
|   font-weight: normal; | ||||
|   color: var(--window-header-title-color); | ||||
|   margin: 4px; | ||||
|   height: 3rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .munition-content :is( | ||||
|     input[type="text"], | ||||
|     input[type="number"], | ||||
|     input[type="password"], | ||||
|     input[type="datetime-local"], | ||||
|     input[type="date"], | ||||
|     input[type="time"] | ||||
|   ) { | ||||
|   color: rgba(255, 255, 255, 0.75); | ||||
|   background: rgba(255, 255, 255, 0.1); | ||||
|   border: 0 none; | ||||
|   margin-bottom: 0.2rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content { | ||||
|   padding: 0px; | ||||
|   background: #011d33 url(../assets/ui/bg_header.webp) no-repeat left top; | ||||
|   color: #ffffff; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .editor, | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .editor-content { | ||||
|   height: auto; | ||||
|   min-height: 100px; | ||||
|   background: var(--rdd-bg-input-alt); | ||||
|   padding: 5px; | ||||
|   border-radius: 3px; | ||||
|   color: var(--rdd-color-text-primary); | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .window-content { | ||||
|   font-family: CaslonAntique; | ||||
|   text-align: justify; | ||||
|   font-size: 1rem; | ||||
|   letter-spacing: 1px; | ||||
|   padding: 0% 0 0 0; | ||||
|   font-size: calc(var(--font-size-standard) * 1); | ||||
|   color: var(--color-dark-1); | ||||
|   background-size: 100% 100%; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content fieldset { | ||||
|   background: var(--fieldset-background); | ||||
|   color: var(--rdd-color-text-primary); | ||||
|   margin-bottom: 4px; | ||||
|   border-radius: 6px; | ||||
|   border-color: var(--rdd-color-text-primary); | ||||
|   border-width: 2px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .form-group { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   flex-wrap: wrap; | ||||
|   justify-content: flex-start; | ||||
|   align-items: center; | ||||
|   padding: 2px 0; | ||||
|   border-bottom: 1px solid var(--rdd-color-shadow-primary); | ||||
|   font-size: 0.9rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .form-group label { | ||||
|   font-weight: normal; | ||||
|   flex: 2; | ||||
|   padding-left: 5px; | ||||
|   margin: 0; | ||||
|   color: var(--rdd-color-text-primary); | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .form-group .attribute-value, | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .form-group input[type="text"], | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .form-group input[type="number"], | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .form-group select { | ||||
|   flex: 3; | ||||
|   background: var(--rdd-input-background); | ||||
|   border: 1px solid var(--rdd-color-border-input); | ||||
|   color: var(--rdd-color-text-input); | ||||
|   padding: 2px 2px; | ||||
|   border-radius: 3px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .form-group input[type="checkbox"] { | ||||
|   flex: 0 0 20px; | ||||
|   margin-left: 5px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .sheet-header-row { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   align-items: center; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .sheet-header-row h1, | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content .sheet-header-row input { | ||||
|   font-family: CaslonAntique; | ||||
|   font-size: 2.5rem; | ||||
|   font-weight: normal; | ||||
|   color: var(--window-header-title-color); | ||||
|   margin: 4px; | ||||
|   height: 3rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tarot-content :is( | ||||
|     input[type="text"], | ||||
|     input[type="number"], | ||||
|     input[type="password"], | ||||
|     input[type="datetime-local"], | ||||
|     input[type="date"], | ||||
|     input[type="time"] | ||||
|   ) { | ||||
|   color: rgba(255, 255, 255, 0.75); | ||||
|   background: rgba(255, 255, 255, 0.1); | ||||
|   border: 0 none; | ||||
| @@ -472,6 +721,7 @@ select, | ||||
|   margin: 0; | ||||
|   justify-content: center; | ||||
|   text-align: left; | ||||
|   display: ruby; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .equipement-valeur { | ||||
|   margin: 0; | ||||
| @@ -491,6 +741,8 @@ select, | ||||
|   align-items: center; | ||||
|   justify-content: center; | ||||
|   text-align: center; | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .equipement-button { | ||||
|   margin: 0; | ||||
| @@ -622,13 +874,40 @@ select, | ||||
|   padding: 0.2em; | ||||
|   border-width: 0; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .small-button-direction { | ||||
| .system-foundryvtt-reve-de-dragon .grid-move-tmr { | ||||
|   display: grid; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .move-tmr-topleft { | ||||
|   grid-column: 2/2; | ||||
|   grid-row: 2/4; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .move-tmr-top { | ||||
|   grid-column: 3/3; | ||||
|   grid-row: 1/3; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .move-tmr-topright { | ||||
|   grid-column: 4/4; | ||||
|   grid-row: 2/4; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .move-tmr-bottomleft { | ||||
|   grid-column: 2/2; | ||||
|   grid-row: 4/6; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .move-tmr-bottom { | ||||
|   grid-column: 3/3; | ||||
|   grid-row: 5/7; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .move-tmr-bottomright { | ||||
|   grid-column: 4/4; | ||||
|   grid-row: 4/6; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .tmr-move { | ||||
|   max-height: 32px; | ||||
|   max-width: 32px; | ||||
|   border: 0; | ||||
|   vertical-align: bottom; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon :is(.button-img,.button-effect-img,.small-button-direction):hover { | ||||
| .system-foundryvtt-reve-de-dragon :is(.button-img,.button-effect-img,.tmr-move):hover { | ||||
|   color: var(--color-controls-hover); | ||||
|   border: 1px solid var(--color-control-border-hover); | ||||
|   text-shadow: 1px 0px 0px #ff6600; | ||||
| @@ -733,13 +1012,13 @@ select, | ||||
|   margin-inline: 0.1rem; | ||||
|   margin-block: 0.1rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon form.application.sheet.fvtt-rdd fieldset :is(label, input) { | ||||
| .system-foundryvtt-reve-de-dragon .app.sheet fieldset :is(label, input) { | ||||
|   font-family: CaslonAntique; | ||||
|   text-align: justify; | ||||
|   font-size: 1rem; | ||||
|   letter-spacing: 1px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon form.application.sheet.fvtt-rdd div.form-group { | ||||
| .system-foundryvtt-reve-de-dragon .app.sheet div.form-group { | ||||
|   clear: both; | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
| @@ -747,14 +1026,15 @@ select, | ||||
|   margin: 0.1rem 0; | ||||
|   align-items: center; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon form.application.sheet.fvtt-rdd .editor.prosemirror { | ||||
| .system-foundryvtt-reve-de-dragon .app.sheet .editor.prosemirror { | ||||
|   height: fit-content; | ||||
|   min-height: 5rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon form.application.sheet.fvtt-rdd prose-mirror.prosemirror .editor-container { | ||||
| .system-foundryvtt-reve-de-dragon .app.sheet .editor.prosemirror .editor-container { | ||||
|   min-height: 5rem; | ||||
|   height: fit-content; | ||||
|   height: 8rem; | ||||
|   margin: 0; | ||||
|   flex: none; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .large-editor { | ||||
|   border: 2; | ||||
| @@ -908,7 +1188,7 @@ select, | ||||
|   padding: 5px; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .poesie-extrait { | ||||
|   font-size: 0.9rem; | ||||
|   font-size: 0.8rem; | ||||
|   font-style: italic; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .poesie-reference { | ||||
| @@ -1042,8 +1322,7 @@ select, | ||||
|   white-space: nowrap; | ||||
|   word-break: break-all; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon span.content-link, | ||||
| .system-foundryvtt-reve-de-dragon a.content-link { | ||||
| .system-foundryvtt-reve-de-dragon .content-link { | ||||
|   background: hsla(45, 100%, 80%, 0.2); | ||||
|   color: hsla(300, 70%, 20%, 0.8); | ||||
|   font-weight: 560; | ||||
| @@ -1052,6 +1331,7 @@ select, | ||||
|   border-radius: 0.25rem; | ||||
|   white-space: nowrap; | ||||
|   word-break: break-all; | ||||
|   display: ruby; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon a.roll-text i.fas { | ||||
|   color: var(--color-text-dark-inactive); | ||||
| @@ -1288,6 +1568,8 @@ select, | ||||
| .system-foundryvtt-reve-de-dragon .list-item-label, | ||||
| .system-foundryvtt-reve-de-dragon .list-title-label { | ||||
|   flex-grow: 2; | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .attribut-value, | ||||
| .system-foundryvtt-reve-de-dragon .carac-value { | ||||
| @@ -1339,9 +1621,13 @@ select, | ||||
| .system-foundryvtt-reve-de-dragon table.table-nombres-astraux th > td { | ||||
|   font-size: 1rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon table.table-nombres-astraux tr > td { | ||||
| .system-foundryvtt-reve-de-dragon table.table-nombres-astraux tr td { | ||||
|   font-size: 0.8rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon table.table-nombres-astraux tr td.info-acteur { | ||||
|   flex-direction: row; | ||||
|   display: flex; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon table.table-nombres-astraux :is(tr, th, td) { | ||||
|   border-style: solid; | ||||
|   border-width: 1px; | ||||
| @@ -1487,9 +1773,11 @@ select, | ||||
|   background: rgba(0, 0, 0, 0.05); | ||||
|   cursor: pointer; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .chat-message { | ||||
|   background: rgba(220, 220, 210, 0.5); | ||||
|   font-size: 1rem; | ||||
| .system-foundryvtt-reve-de-dragon .chat-message h4 { | ||||
|   font-size: 0.9rem; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .chat-message .message-content { | ||||
|   text-align: justify; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .chat-message header.message-header .heure-rdd { | ||||
|   font-size: 0.7rem; | ||||
| @@ -1499,6 +1787,9 @@ select, | ||||
|   background: rgba(220, 220, 210, 0.75); | ||||
|   border: 2px solid #545469; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .chat-message hr { | ||||
|   margin: 0.2rem 0; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .chat-icon { | ||||
|   border: 0; | ||||
|   padding: 2px 6px 2px 2px; | ||||
| @@ -1911,8 +2202,6 @@ select, | ||||
|   display: grid; | ||||
|   background: hsl(0, 0%, 20%); | ||||
|   color: hsla(0, 0%, 80%, 0.8); | ||||
|   grid-row: 1; | ||||
|   grid-column: 10; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-boutons-heure .calendar-btn:is(.calendar-lyre,.calendar-vaisseau) img { | ||||
|   color: hsla(0, 0%, 100%, 0.5); | ||||
| @@ -1925,40 +2214,38 @@ select, | ||||
| .system-foundryvtt-reve-de-dragon .calendar-boutons-heure i { | ||||
|   border: 1px solid rgba(0, 0, 0, 0); | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-boutons-heure i:hover { | ||||
| .system-foundryvtt-reve-de-dragon .calendar-boutons-heure a:hover { | ||||
|   color: var(--color-controls-hover); | ||||
|   border: 1px solid var(--color-control-border-hover); | ||||
|   cursor: pointer; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-1min { | ||||
|   grid-column: 1; | ||||
|   grid-column: 1/1; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-5min { | ||||
|   grid-column: 2; | ||||
|   grid-column: 2/2; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-15min { | ||||
|   grid-column: 3; | ||||
|   grid-column: 3/3; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-30min { | ||||
|   grid-column: 4; | ||||
|   grid-column: 4/4; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-60min { | ||||
|   grid-column: 5; | ||||
|   grid-column: 5/5; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-1heure { | ||||
|   grid-column: 6; | ||||
|   grid-column: 6/6; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-lyre { | ||||
|   grid-column: 7; | ||||
|   grid-column: 7/8; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-vaisseau { | ||||
|   grid-column: 8; | ||||
|   grid-column: 9/10; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-set-datetime { | ||||
|   grid-column: 9; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon .calendar-astrologie { | ||||
|   grid-column: 10; | ||||
| .system-foundryvtt-reve-de-dragon :is(.calendar-lyre,.calendar-vaisseau) { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
| } | ||||
| .system-foundryvtt-reve-de-dragon div.horloge-analogique { | ||||
|   border: none; | ||||
|   | ||||
| @@ -19,7 +19,7 @@ const css = gulp.series(compileLESS); | ||||
| /* ----------------------------------------- */ | ||||
| /*  Watch Updates | ||||
| /* ----------------------------------------- */ | ||||
| const SIMPLE_LESS = ["less/*.less"]; | ||||
| const SIMPLE_LESS = ["less/*.less", "less/item/*.less"]; | ||||
|  | ||||
| function watchUpdates() { | ||||
|   gulp.watch(SIMPLE_LESS, css); | ||||
|   | ||||
| @@ -1,15 +1,21 @@ | ||||
| :root { | ||||
|    | ||||
|   /* =================== 2. DEBUGGING HIGHLIGHTERS ============ */  | ||||
|  | ||||
|   /* =================== 2. DEBUGGING HIGHLIGHTERS ============ */ | ||||
|     // --debug-background-color-red: #ff000054; | ||||
|     // --debug-background-color-blue: #1d00ff54; | ||||
|     // --debug-background-color-green: #54ff0054; | ||||
|    | ||||
|  | ||||
|     // --debug-box-shadow-red: inset 0 0 2px red; | ||||
|     // --debug-box-shadow-blue: inset 0 0 2px blue; | ||||
|     // --debug-box-shadow-green: inset 0 0 2px green; | ||||
|    | ||||
|  | ||||
|  | ||||
|   /* =================== 3. some constants ============ */ | ||||
|     --fieldset-background: url(/ui/parchment.jpg); | ||||
|     --rdd-color-text-primary: rgba(10, 10, 10, 0.9); | ||||
|     --rdd-input-background:rgba(0, 0, 0, 0.05); | ||||
|     --rdd-color-border-input: rgba(0, 0, 0, 0.2); | ||||
|     --rdd-bg-input: rgba(255, 255, 255, 0.1); | ||||
|     --color-controls:rgba(0, 0, 0, 0.9); | ||||
|     --color-controls-light:hsla(0, 0%, 20%, 0.8); | ||||
|     --color-controls-hover:hsla(60, 100%, 75%, 0.7); | ||||
| @@ -30,9 +36,9 @@ | ||||
|       hsla(250, 30%, 30%, 0.7) 50%, | ||||
|       hsla(250, 50%, 40%, 0.1) 75%, | ||||
|       hsla(30, 30%, 40%, 0.1) 75%, | ||||
|       hsla(50, 100%, 80%, 0.7)  | ||||
|       hsla(50, 100%, 80%, 0.7) | ||||
|     ); | ||||
|    | ||||
|  | ||||
|     --background-custom-button: linear-gradient(to bottom, rgba(33, 55, 74, 0.988) 5%, rgba(21, 40, 51, 0.671) 100%); | ||||
|     --background-custom-button-hover: linear-gradient(to bottom, rgb(128, 0, 0) 5%, rgb(62, 1, 1) 100%); | ||||
|     --background-control-selected: linear-gradient(to bottom, hsla(0, 100%, 25%, 0.5) 5%, hsla(0, 100%, 12%, 0.5) 100%); | ||||
| @@ -42,4 +48,3 @@ | ||||
|     --background-error:hsla(16, 100%, 50%, 0.8); | ||||
|     --color-profile-border: hsla(0, 0%, 80%, 0.05); | ||||
|   } | ||||
|    | ||||
| @@ -4,6 +4,8 @@ | ||||
| .system-foundryvtt-reve-de-dragon { | ||||
|   @import "sheets.less"; | ||||
|   @import "item/monnaie.less"; | ||||
|   @import "item/munition.less"; | ||||
|   @import "item/tarot.less"; | ||||
|  | ||||
|   // body { | ||||
|   //   --input-height: 1.4rem; | ||||
| @@ -354,6 +356,7 @@ | ||||
|     margin: 0; | ||||
|     justify-content: center; | ||||
|     text-align: left; | ||||
|     display: ruby; | ||||
|   } | ||||
|   .equipement-valeur { | ||||
|     margin: 0; | ||||
| @@ -373,6 +376,8 @@ | ||||
|     align-items: center; | ||||
|     justify-content: center; | ||||
|     text-align: center; | ||||
|     display: flex; | ||||
|     flex-direction: row; | ||||
|   } | ||||
|   .equipement-button { | ||||
|     margin: 0; | ||||
| @@ -510,13 +515,21 @@ | ||||
|     padding: 0.2em; | ||||
|     border-width: 0; | ||||
|   } | ||||
|   .small-button-direction { | ||||
|   .grid-move-tmr { display: grid; } | ||||
|   .move-tmr-topleft { grid-column: 2/2; grid-row: 2/4;} | ||||
|   .move-tmr-top { grid-column: 3/3; grid-row: 1/3; } | ||||
|   .move-tmr-topright { grid-column: 4/4; grid-row: 2/4; } | ||||
|   .move-tmr-bottomleft { grid-column: 2/2; grid-row: 4/6; } | ||||
|   .move-tmr-bottom { grid-column: 3/3; grid-row: 5/7; } | ||||
|   .move-tmr-bottomright{ grid-column: 4/4; grid-row: 4/6; } | ||||
|  | ||||
|   .tmr-move { | ||||
|     max-height: 32px; | ||||
|     max-width: 32px; | ||||
|     border: 0; | ||||
|     vertical-align: bottom; | ||||
|   } | ||||
|   :is(.button-img,.button-effect-img,.small-button-direction):hover { | ||||
|   :is(.button-img,.button-effect-img,.tmr-move):hover { | ||||
|     color: var(--color-controls-hover); | ||||
|     border: 1px solid var(--color-control-border-hover); | ||||
|     text-shadow: 1px 0px 0px #ff6600; | ||||
| @@ -622,13 +635,13 @@ | ||||
|     margin-inline: 0.1rem; | ||||
|     margin-block: 0.1rem; | ||||
|   } | ||||
|   form.application.sheet.fvtt-rdd fieldset :is(label, input) { | ||||
|   .app.sheet fieldset :is(label, input) { | ||||
|     font-family: CaslonAntique; | ||||
|     text-align: justify; | ||||
|     font-size: 1rem; | ||||
|     letter-spacing: 1px; | ||||
|   } | ||||
|   form.application.sheet.fvtt-rdd div.form-group { | ||||
|   .app.sheet div.form-group { | ||||
|     clear: both; | ||||
|     display: flex; | ||||
|     flex-direction: row; | ||||
| @@ -636,15 +649,17 @@ | ||||
|     margin: 0.1rem 0; | ||||
|     align-items: center; | ||||
|   } | ||||
|   form.application.sheet.fvtt-rdd .editor.prosemirror { | ||||
|   .app.sheet .editor.prosemirror { | ||||
|     height: fit-content; | ||||
|     min-height: 5rem; | ||||
|   } | ||||
|   form.application.sheet.fvtt-rdd prose-mirror.prosemirror .editor-container { | ||||
|   .app.sheet .editor.prosemirror .editor-container { | ||||
|     min-height: 5rem; | ||||
|     height: fit-content; | ||||
|     height: 8rem; | ||||
|     margin: 0; | ||||
|     flex: none; | ||||
|   } | ||||
|  | ||||
|   .large-editor { | ||||
|     border: 2; | ||||
|     height: fit-content; | ||||
| @@ -811,7 +826,7 @@ | ||||
|   } | ||||
|  | ||||
|   .poesie-extrait { | ||||
|     font-size: 0.9rem; | ||||
|     font-size: 0.8rem; | ||||
|     font-style: italic; | ||||
|   } | ||||
|   .poesie-reference{ | ||||
| @@ -960,8 +975,7 @@ | ||||
|     word-break: break-all; | ||||
|   } | ||||
|  | ||||
|   span.content-link, | ||||
|   a.content-link { | ||||
|   .content-link { | ||||
|     background: hsla(45, 100%, 80%, 0.2); | ||||
|     color: hsla(300, 70%, 20%, 0.8); | ||||
|     font-weight: 560; | ||||
| @@ -970,6 +984,7 @@ | ||||
|     border-radius: 0.25rem; | ||||
|     white-space: nowrap; | ||||
|     word-break: break-all; | ||||
|     display: ruby; | ||||
|   } | ||||
|   a.roll-text i.fas{ | ||||
|     color: var(--color-text-dark-inactive); | ||||
| @@ -1220,6 +1235,8 @@ | ||||
|   .list-item-label, | ||||
|   .list-title-label { | ||||
|     flex-grow: 2; | ||||
|     display: flex; | ||||
|     flex-direction: row; | ||||
|   } | ||||
|   .attribut-value, | ||||
|   .carac-value { | ||||
| @@ -1273,9 +1290,13 @@ | ||||
|   table.table-nombres-astraux th >td { | ||||
|     font-size: 1rem; | ||||
|   } | ||||
|   table.table-nombres-astraux tr >td { | ||||
|   table.table-nombres-astraux tr td { | ||||
|     font-size: 0.8rem; | ||||
|   } | ||||
|   table.table-nombres-astraux tr td.info-acteur { | ||||
|     flex-direction: row; | ||||
|     display: flex; | ||||
|   } | ||||
|   table.table-nombres-astraux :is(tr, th, td) { | ||||
|     border-style: solid; | ||||
|     border-width: 1px; | ||||
| @@ -1447,11 +1468,13 @@ | ||||
|     cursor: pointer; | ||||
|   } | ||||
|  | ||||
|   .chat-message { | ||||
|     background: rgba(220,220,210,0.5); | ||||
|     font-size: 1rem; | ||||
|   } | ||||
|  | ||||
|   .chat-message h4 { | ||||
|     font-size: 0.9rem; | ||||
|   } | ||||
|   .chat-message .message-content { | ||||
|     text-align: justify; | ||||
|   } | ||||
|   .chat-message header.message-header .heure-rdd { | ||||
|     font-size: 0.7rem; | ||||
|     flex-grow: 3; | ||||
| @@ -1461,6 +1484,11 @@ | ||||
|     background: rgba(220,220,210,0.75); | ||||
|     border: 2px solid #545469; | ||||
|   } | ||||
|  | ||||
|   .chat-message hr { | ||||
|     margin: 0.2rem 0; | ||||
|   } | ||||
|  | ||||
|   .chat-icon { | ||||
|     border: 0; | ||||
|     padding: 2px 6px 2px 2px; | ||||
| @@ -1753,9 +1781,6 @@ | ||||
|     display: grid; | ||||
|     background: hsla(0, 0%, 20%, 1); | ||||
|     color: hsla(0, 0%, 80%, 0.8); | ||||
|  | ||||
|     grid-row: 1; | ||||
|     grid-column: 10; | ||||
|   } | ||||
|  | ||||
|   .calendar-boutons-heure .calendar-btn:is(.calendar-lyre,.calendar-vaisseau) img { | ||||
| @@ -1770,23 +1795,24 @@ | ||||
|   .calendar-boutons-heure i { | ||||
|     border: 1px solid rgba(0, 0, 0, 0); | ||||
|   } | ||||
|   .calendar-boutons-heure i:hover { | ||||
|   .calendar-boutons-heure a:hover { | ||||
|     color: var(--color-controls-hover); | ||||
|     border: 1px solid var(--color-control-border-hover); | ||||
|     cursor: pointer; | ||||
|   } | ||||
|  | ||||
|   .calendar-1min     { grid-column: 1;} | ||||
|   .calendar-5min     { grid-column: 2;} | ||||
|   .calendar-15min    { grid-column: 3;} | ||||
|   .calendar-30min    { grid-column: 4;} | ||||
|   .calendar-60min    { grid-column: 5;} | ||||
|   .calendar-1heure   { grid-column: 6;} | ||||
|   .calendar-lyre     { grid-column: 7;} | ||||
|   .calendar-vaisseau { grid-column: 8;} | ||||
|   .calendar-set-datetime { grid-column: 9;} | ||||
|   .calendar-astrologie   { grid-column: 10;} | ||||
|  | ||||
|   .calendar-1min     { grid-column: 1/1; } | ||||
|   .calendar-5min     { grid-column: 2/2; } | ||||
|   .calendar-15min    { grid-column: 3/3; } | ||||
|   .calendar-30min    { grid-column: 4/4; } | ||||
|   .calendar-60min    { grid-column: 5/5; } | ||||
|   .calendar-1heure   { grid-column: 6/6; } | ||||
|   .calendar-lyre     { grid-column: 7/8; } | ||||
|   .calendar-vaisseau { grid-column: 9/10; } | ||||
|   :is(.calendar-lyre,.calendar-vaisseau) { | ||||
|     display: flex; | ||||
|     flex-direction: row; | ||||
|   } | ||||
|   div.horloge-analogique { | ||||
|     border: none; | ||||
|     margin: 0; | ||||
|   | ||||
| @@ -1,10 +1,7 @@ | ||||
| .application.sheet.fvtt-rdd { | ||||
|   .sheet-common(); | ||||
|   section.window-content{ | ||||
|     padding: 0rem; | ||||
| // Styles pour la feuille d'objet Monnaie | ||||
| .monnaie-content { | ||||
|  | ||||
|   .item-sheet-common(); | ||||
|   .item-sheet-header(); | ||||
|  | ||||
|     section header.sheet-header { | ||||
|         .sheet-header(); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
							
								
								
									
										7
									
								
								less/item/munition.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								less/item/munition.less
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| // Styles pour la feuille d'objet Monnaie | ||||
| .munition-content { | ||||
|  | ||||
|   .item-sheet-common(); | ||||
|   .item-sheet-header(); | ||||
|  | ||||
| } | ||||
							
								
								
									
										7
									
								
								less/item/tarot.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								less/item/tarot.less
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| // Styles pour la feuille d'objet Monnaie | ||||
| .tarot-content { | ||||
|  | ||||
|   .item-sheet-common(); | ||||
|   .item-sheet-header(); | ||||
|  | ||||
| } | ||||
| @@ -1,21 +1,96 @@ | ||||
| .sheet-common() { | ||||
| .item-sheet-common() { | ||||
|   padding: 0px; | ||||
|  | ||||
|   .window-content{ | ||||
|   // Styles pour la section de description, si le partiel utilise une structure standard | ||||
|   .editor, | ||||
|   .editor-content { | ||||
|     height: auto; // Ajuster selon le besoin | ||||
|     min-height: 100px; // Hauteur minimale pour la description | ||||
|     background: var(--rdd-bg-input-alt); // Une couleur de fond alternative | ||||
|     padding: 5px; | ||||
|     border-radius: 3px; | ||||
|     color: var(--rdd-color-text-primary); | ||||
|   } | ||||
|  | ||||
|   .window-content { | ||||
|     font-family: CaslonAntique; | ||||
|     text-align: justify; | ||||
|     font-size: 1rem; | ||||
|     letter-spacing: 1px; | ||||
|    | ||||
|     padding: 0% 0 0 0; | ||||
|  | ||||
|     font-size: calc(var(--font-size-standard) * 1); | ||||
|     color: var(--color-dark-1); | ||||
|     background: var(--background-image-base) no-repeat; | ||||
|     background-size: 100% 100%; | ||||
|   } | ||||
|  | ||||
|   fieldset { | ||||
|     background: var(--fieldset-background); | ||||
|     color: var(--rdd-color-text-primary); | ||||
|     margin-bottom: 4px; | ||||
|     border-radius: 6px; | ||||
|     border-color: var(--rdd-color-text-primary); | ||||
|     border-width: 2px; | ||||
|   } | ||||
|  | ||||
|   .form-group { | ||||
|     display: flex; | ||||
|     flex-direction: row; | ||||
|     flex-wrap: wrap; | ||||
|     justify-content: flex-start; | ||||
|     align-items: center; | ||||
|     padding: 2px 0; | ||||
|     border-bottom: 1px solid var(--rdd-color-shadow-primary); | ||||
|     font-size: 0.9rem; | ||||
|  | ||||
|     label { | ||||
|       font-weight: normal; | ||||
|       flex: 2; | ||||
|       padding-left: 5px; | ||||
|       margin: 0; | ||||
|       color: var( | ||||
|         --rdd-color-text-primary | ||||
|       ); // Assurez-vous que cette variable existe dans colors.less | ||||
|     } | ||||
|  | ||||
|     .attribute-value, | ||||
|     input[type="text"], | ||||
|     input[type="number"], | ||||
|     select { | ||||
|       flex: 3; | ||||
|       background: var(--rdd-input-background); | ||||
|       border: 1px solid var(--rdd-color-border-input); // Assurez-vous que cette variable existe | ||||
|       color: var( | ||||
|         --rdd-color-text-input | ||||
|       ); // Assurez-vous que cette variable existe | ||||
|       padding: 2px 2px; // Augmentation du padding vertical | ||||
|       border-radius: 3px; | ||||
|     } | ||||
|  | ||||
|     input[type="checkbox"] { | ||||
|       flex: 0 0 20px; // Taille fixe pour les cases à cocher | ||||
|       margin-left: 5px; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| .sheet-header() { | ||||
| .item-sheet-header() { | ||||
|   background: #011d33 url(../assets/ui/bg_header.webp) no-repeat left top; | ||||
|   color: rgba(255, 255, 255, 1); | ||||
|   .sheet-header-row { | ||||
|     display: flex; | ||||
|     flex-direction: row; | ||||
|     align-items: center; | ||||
|     h1, | ||||
|     input { | ||||
|       font-family: CaslonAntique; | ||||
|       font-size: 2.5rem; | ||||
|       font-weight: normal; | ||||
|       color: var(--window-header-title-color); | ||||
|       margin: 4px; | ||||
|       height: 3rem; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   :is( | ||||
|     input[type="text"], | ||||
| @@ -23,10 +98,11 @@ | ||||
|     input[type="password"], | ||||
|     input[type="datetime-local"], | ||||
|     input[type="date"], | ||||
|     input[type="time"]) { | ||||
|       color: rgba(255, 255, 255, 0.75); | ||||
|       background: rgba(255, 255, 255, 0.1); | ||||
|       border: 0 none; | ||||
|       margin-bottom: 0.2rem; | ||||
|     input[type="time"] | ||||
|   ) { | ||||
|     color: rgba(255, 255, 255, 0.75); | ||||
|     background: rgba(255, 255, 255, 0.1); | ||||
|     border: 0 none; | ||||
|     margin-bottom: 0.2rem; | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -341,6 +341,9 @@ export class RdDBaseActorReve extends RdDBaseActor { | ||||
|     const selectedCaracName = ['apparence', 'perception', 'force', 'reve'].find(it => carac[it] != undefined) | ||||
|  | ||||
|     await this.openRollDialog({ | ||||
|       name: 'jet-quelconque', | ||||
|       label: 'Jet', | ||||
|       template: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll.hbs', | ||||
|       rollData: { | ||||
|         alias: this.getAlias(), | ||||
|         carac: carac, | ||||
|   | ||||
| @@ -15,6 +15,7 @@ import { ItemAction } from "../item/item-actions.js"; | ||||
|  * @extends {ActorSheet} | ||||
|  */ | ||||
| export class RdDBaseActorSheet extends foundry.appv1.sheets.ActorSheet { | ||||
|   static _warnedAppV1 = true | ||||
|  | ||||
|   /** @override */ | ||||
|   static get defaultOptions() { | ||||
|   | ||||
| @@ -213,6 +213,7 @@ export class RdDBaseActor extends Actor { | ||||
|   isCreatureEntite() { return this.isCreature() || this.isEntite() } | ||||
|   isCreature() { return false } | ||||
|   isEntite(typeentite = []) { return false } | ||||
|   isHautRevant() { return false } | ||||
|   isVehicule() { return false } | ||||
|   isPersonnage() { return false } | ||||
|   getItem(id, type = undefined) { | ||||
|   | ||||
| @@ -1,6 +1,4 @@ | ||||
| import { DialogItemAchat } from "../achat-vente/dialog-item-achat.js"; | ||||
| import { RdDItem } from "../item.js"; | ||||
| import { RdDUtility } from "../rdd-utility.js"; | ||||
| import { RdDBaseActorSheet } from "./base-actor-sheet.js"; | ||||
|  | ||||
| /** | ||||
| @@ -44,13 +42,8 @@ export class RdDCommerceSheet extends RdDBaseActorSheet { | ||||
|   activateListeners(html) { | ||||
|     super.activateListeners(html); | ||||
|  | ||||
|     this.html.find('a.item-acheter').click(async event => await this.vente(this.getItem(event))); | ||||
|     this.html.find('.service-acheter').click(async event => await this.vente(this.getItem(event))); | ||||
|  | ||||
|     if (!this.options.editable) return; | ||||
|  | ||||
|     this.html.find('a.item-quantite-moins').click(async event => await this.getItem(event)?.quantiteIncDec(-1, { supprimerSiZero: false })); | ||||
|     this.html.find('a.item-quantite-plus').click(async event => await this.getItem(event)?.quantiteIncDec(1)); | ||||
|     this.html.find('input.item-quantite').change(async event => { | ||||
|       const newQuantite = Math.max(0, Number.parseInt(this.html.find(event.currentTarget).val())); | ||||
|       await this.getItem(event)?.update({ "system.quantite": newQuantite }); | ||||
| @@ -64,28 +57,4 @@ export class RdDCommerceSheet extends RdDBaseActorSheet { | ||||
|   getTypesInventaire() { | ||||
|     return RdDItem.getItemTypesInventaire('all'); | ||||
|   } | ||||
|  | ||||
|  | ||||
|   async vente(item) { | ||||
|     const acheteur = RdDUtility.getSelectedActor(); | ||||
|     if (!acheteur) { | ||||
|       ui.notifications.warn(`Pas d'acheteur sélectionné`); | ||||
|       return; | ||||
|     } | ||||
|     const disponible = this.actor.getQuantiteDisponible(item) | ||||
|     if (disponible == 0) { | ||||
|       ui.notifications.warn(`${this.getAlias()} n'a plus de ${item.name} en vente`); | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     await DialogItemAchat.onAcheter({ | ||||
|       item, | ||||
|       vendeur: this.actor, | ||||
|       acheteur, | ||||
|       quantiteIllimite: disponible == undefined, | ||||
|       nbLots: disponible ?? 1, | ||||
|       tailleLot: 1, | ||||
|       prixLot: item.calculerPrixCommercant() | ||||
|     }); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,6 @@ | ||||
| import { DialogItemAchat } from "../achat-vente/dialog-item-achat.js"; | ||||
| import { Misc } from "../misc.js"; | ||||
| import { RdDUtility } from "../rdd-utility.js"; | ||||
| import { RdDBaseActor } from "./base-actor.js"; | ||||
|  | ||||
| export class RdDCommerce extends RdDBaseActor { | ||||
| @@ -37,4 +39,27 @@ export class RdDCommerce extends RdDBaseActor { | ||||
|     const pourcentage = this.system.pourcentage ?? 100; | ||||
|     return Misc.keepDecimals(Math.ceil(item.system.cout * pourcentage) / 100, 2); | ||||
|   } | ||||
|   async vente(item) { | ||||
|     const acheteur = RdDUtility.getSelectedActor(); | ||||
|     if (!acheteur) { | ||||
|       ui.notifications.warn(`Pas d'acheteur sélectionné`); | ||||
|       return; | ||||
|     } | ||||
|     const disponible = this.getQuantiteDisponible(item) | ||||
|     if (disponible == 0) { | ||||
|       ui.notifications.warn(`${this.getAlias()} n'a plus de ${item.name} en vente`); | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|     await DialogItemAchat.onAcheter({ | ||||
|       item, | ||||
|       vendeur: this, | ||||
|       acheteur, | ||||
|       quantiteIllimite: disponible == undefined, | ||||
|       nbLots: disponible ?? 1, | ||||
|       tailleLot: 1, | ||||
|       prixLot: item.calculerPrixCommercant() | ||||
|     }); | ||||
|   } | ||||
|    | ||||
| } | ||||
| @@ -12,14 +12,18 @@ export class ExportScriptarium { | ||||
|   } | ||||
|  | ||||
|   constructor() { | ||||
|     Hooks.on("getActorDirectoryFolderContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) }) | ||||
|     Hooks.on("getActorDirectoryEntryContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) }) | ||||
|     //Hooks.on("getActorDirectoryFolderContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) }) | ||||
|     Hooks.on("getFolderContextOptions", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) }) | ||||
|     //Hooks.on("getActorDirectoryEntryContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) }) | ||||
|     Hooks.on("getActorContextOptions", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) }) | ||||
|  | ||||
|   } | ||||
|  | ||||
|   onActorDirectoryMenu(actorDirectory, menus) { | ||||
|     // DEBUG console.log("ExportScriptarium.onActorDirectoryMenu", actorDirectory, menus) | ||||
|     menus.push({ | ||||
|       name: 'Export Personnages <i class="fa-regular fa-file-csv"></i>', | ||||
|       icon: IMG_SCRIPTARIUM, | ||||
|       name: 'Export Personnages', | ||||
|       icon: '<i class="fa-solid fa-download"></i>', //IMG_SCRIPTARIUM, | ||||
|       condition: (target) => game.user.isGM && | ||||
|         OptionsAvancees.isUsing(EXPORT_CSV_SCRIPTARIUM) && | ||||
|         this.$getActors(actorDirectory, target).length > 0, | ||||
| @@ -28,22 +32,28 @@ export class ExportScriptarium { | ||||
|   } | ||||
|  | ||||
|   $getTargetName(actorDirectory, target) { | ||||
|     target = $(target) | ||||
|     const li = target.closest(".directory-item") | ||||
|     const folderId = li.data("folderId") | ||||
|     const actorId = li.data("documentId") | ||||
|     const actorId = li.data("entryId") | ||||
|     return actorId | ||||
|       ? game.actors.get(actorId).name | ||||
|       : actorDirectory.folders.find(it => it.id == folderId).name | ||||
|       : actorDirectory.collection.filter(it => it.folder.id == folderId).name | ||||
|   } | ||||
|  | ||||
|   $getActors(actorDirectory, target) { | ||||
|     if (actorDirectory.id != "actors") { | ||||
|       return [] | ||||
|     } | ||||
|     // DEBUG console.log("ExportScriptarium.$getActors", actorDirectory, target) | ||||
|     target = $(target) | ||||
|     const li = target.closest(".directory-item") | ||||
|     const folderId = li.data("folderId") | ||||
|     const actorId = li.data("documentId") | ||||
|     const actorId = li.data("entryId") | ||||
|     const actors = actorId | ||||
|       ? [game.actors.get(actorId)] | ||||
|       : folderId | ||||
|         ? actorDirectory.folders.find(it => it.id == folderId).contents | ||||
|         ? actorDirectory.collection.filter(it => it.folder.id == folderId) | ||||
|         : [] | ||||
|     return actors.filter(it => it.type == ACTOR_TYPES.personnage) | ||||
|   } | ||||
| @@ -54,7 +64,7 @@ export class ExportScriptarium { | ||||
|     const actorLines = actors.map(actor => Misc.join(this.getActorLine(actor), ';')) | ||||
|     const data = Misc.join([header, ...actorLines], eol) | ||||
|     const filename = `scriptarium-${targetName?.slugify()}.csv`; | ||||
|     saveDataToFile(data, "text/csv;charset=windows-1252", `${filename}`); | ||||
|     foundry.utils.saveDataToFile(data, "text/csv;charset=windows-1252", `${filename}`); | ||||
|   } | ||||
|  | ||||
|   getHeaderLine() { | ||||
|   | ||||
| @@ -53,7 +53,7 @@ export default class RdDItemBaseSheet extends HandlebarsApplicationMixin(foundry | ||||
|   static DEFAULT_OPTIONS = { | ||||
|     classes: ["fvtt-rdd", "item"], | ||||
|     position: { | ||||
|       width: 600, | ||||
|       width: 448, | ||||
|       height: "auto", | ||||
|     }, | ||||
|     form: { | ||||
|   | ||||
| @@ -13,7 +13,7 @@ export default class RdDMonnaieSheet extends RdDItemBaseSheet { | ||||
|     RdDItemBaseSheet.DEFAULT_OPTIONS, | ||||
|     { | ||||
|       classes: ["fvtt-rdd", "item", "monnaie"], | ||||
|       position: { width: 400 }, | ||||
|       position: { width: 448 }, | ||||
|       window: { contentClasses: ["monnaie-content"] } | ||||
|     }) | ||||
|  | ||||
|   | ||||
| @@ -12,7 +12,7 @@ export default class RdDMunitionSheet extends RdDItemBaseSheet { | ||||
|     RdDItemBaseSheet.DEFAULT_OPTIONS, | ||||
|     { | ||||
|       classes: ["fvtt-rdd", "item", "munition"], | ||||
|       position: { width: 400 }, | ||||
|       position: { width: 448 }, | ||||
|       window: { contentClasses: ["munition-content"] } | ||||
|     }) | ||||
|  | ||||
|   | ||||
| @@ -12,7 +12,7 @@ export default class RdDTarotSheet extends RdDItemBaseSheet { | ||||
|     RdDItemBaseSheet.DEFAULT_OPTIONS, | ||||
|     { | ||||
|       classes: ["fvtt-rdd", "item", "tarot"], | ||||
|       position: { width: 400 }, | ||||
|       position: { width: 448 }, | ||||
|       window: { contentClasses: ["tarot-content"] } | ||||
|     }) | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,11 @@ | ||||
| import { RdDItem } from "../item.js"; | ||||
|  | ||||
| export default class RdDItemMonnaie extends RdDItem { | ||||
|   static get defaultIcon() { | ||||
|     return 'systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp' | ||||
|  | ||||
|   constructor(data, context) { | ||||
|     if (!data.img) { | ||||
|       data.img = 'systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp' | ||||
|     } | ||||
|     super(data, context); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -2,6 +2,6 @@ import { RdDItem } from "../item.js"; | ||||
|  | ||||
| export default class RdDItemTarot extends RdDItem { | ||||
|   static get defaultIcon() { | ||||
|     return 'systems/foundryvtt-reve-de-dragon/icons/objets/tarot.webp' | ||||
|     return 'systems/foundryvtt-reve-de-dragon/icons/tarots/dos-tarot.webp' | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -4,8 +4,7 @@ import { Misc } from "../misc.js" | ||||
|  | ||||
| export const ACTION_ITEM_ENCHANTER =  { | ||||
|   code: 'item-enchanter', label: 'Enchanter', icon: it => 'fa-solid fa-sparkles', | ||||
|   filter: it => game.user.isGM || DialogEnchanter.isEnchantable(it), | ||||
|   optionsFilter: options => options.editable, | ||||
|   filter: it => game.user.isGM || DialogEnchanter.isEnchantable(it) && it.parent?.type != ACTOR_TYPES.commerce, | ||||
|   action: (item, actor) => DialogEnchanter.enchanter(item) | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -78,6 +78,8 @@ export const defaultItemImg = { | ||||
|   souffle: "systems/foundryvtt-reve-de-dragon/icons/souffle_dragon.webp", | ||||
|   tarot: "systems/foundryvtt-reve-de-dragon/icons/tarots/dos-tarot.webp", | ||||
|   tete: "systems/foundryvtt-reve-de-dragon/icons/tete_dragon.webp", | ||||
|   monnaie:"systems/foundryvtt-reve-de-dragon/icons/objets/piece_etain_poisson.webp", | ||||
|   munition: "systems/foundryvtt-reve-de-dragon/icons/objets/fleche.webp" | ||||
| } | ||||
|  | ||||
| /* -------------------------------------------- */ | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| import { ACTOR_TYPES } from "../constants.js" | ||||
| import { Misc } from "../misc.js" | ||||
| import { RdDSheetUtility } from "../rdd-sheet-utility.js" | ||||
| import { RdDUtility } from "../rdd-utility.js" | ||||
| @@ -14,22 +15,21 @@ const _SPACEHOLDER = { placeholder: true } | ||||
| const _VENDRE = { | ||||
|   code: 'item-vendre', label: 'Vendre ou donner', icon: it => 'fa-solid fa-comments-dollar', | ||||
|   filter: it => Misc.toInt(it.system.quantite) > 0, | ||||
|   optionsFilter: options => options.editable, | ||||
|   action: (item, actor) => item.proposerVente() | ||||
| } | ||||
| const _ACHAT_SERVICE = { | ||||
|   code: 'item-service-acheter', label: 'Acheter', icon: it => 'fa-regular fa-coins', | ||||
|   //filter: it => Misc.toInt(it.system.quantite) > 0, | ||||
|   //optionsFilter: options => options.editable, | ||||
|   //action: (item, actor) => item.proposerVente() | ||||
| const _ACHETER = { | ||||
|   code: 'item-acheter', label: 'Acheter', icon: it => 'fa-regular fa-coins', | ||||
|   filter: it => Misc.toInt(it.system.quantite) > 0 && it.parent?.type == ACTOR_TYPES.commerce, | ||||
|   action: (item, actor) => actor.vente(item) | ||||
| } | ||||
| const _MONTRER = { | ||||
|   code: 'item-montrer', label: 'Montrer', icon: it => 'fa-solid fa-comment', | ||||
|   allowLimited: true, | ||||
|   action: (item, actor) => item.postItemToChat() | ||||
| } | ||||
| const _SPLIT = { | ||||
|   code: 'item-split', label: 'Séparer le goupe', icon: it => 'fa-solid fa-unlink', | ||||
|   filter: it => Misc.toInt(it.system.quantite) > 1, | ||||
|   filter: it => Misc.toInt(it.system.quantite) > 1 && it.parent?.type != ACTOR_TYPES.commerce, | ||||
|   action: (item, actor) => RdDSheetUtility.splitItem(item, actor) | ||||
| } | ||||
|  | ||||
| @@ -39,7 +39,7 @@ const _EDIT = { | ||||
| } | ||||
| const _DELETE = { | ||||
|   code: 'item-delete', label: 'Supprimer', icon: it => 'fa-solid fa-trash', | ||||
|   optionsFilter: options => options.editable && options.isOwner, | ||||
|   optionsFilter: options => options.isOwner, | ||||
|   action: (item, actor) => RdDUtility.confirmActorItemDelete(item, actor) | ||||
| } | ||||
| const _EQUIPER = { | ||||
| @@ -51,30 +51,25 @@ const _EQUIPER = { | ||||
| const _CUISINER = { | ||||
|   code: 'item-cuisiner', label: 'Cuisiner', icon: it => 'fa-solid fa-utensils', | ||||
|   filter: it => it.getUtilisation() == 'cuisine' && it.system.sust > 0, | ||||
|   optionsFilter: options => options.editable, | ||||
|   action: (item, actor) => actor.preparerNourriture(item) | ||||
| } | ||||
| const _MANGER_CRU = { | ||||
|   code: 'item-manger-cru', label: 'Manger cru', icon: it => 'fa-solid fa-drumstick-bite', | ||||
|   filter: it => it.getUtilisation() == 'cuisine' && it.system.sust > 0, | ||||
|   optionsFilter: options => options.editable, | ||||
|   action: (item, actor) => actor.mangerNourriture(item) | ||||
| } | ||||
| const _MANGER = { | ||||
|   code: 'item-manger', label: 'Manger', icon: it => 'fa-solid fa-utensils', | ||||
|   filter: it => !(it.system.boisson), | ||||
|   optionsFilter: options => options.editable, | ||||
|   action: (item, actor) => actor.mangerNourriture(item) | ||||
| } | ||||
| const _BOIRE = { | ||||
|   code: 'item-boire', label: 'Boire', icon: it => 'fa-solid fa-glass-water', | ||||
|   filter: it => it.system.boisson, | ||||
|   optionsFilter: options => options.editable, | ||||
|   action: (item, actor) => actor.mangerNourriture(item) | ||||
| } | ||||
| const _DECOCTION = { | ||||
|   code: 'item-decoction', label: 'Décoction', icon: it => 'fa-solid fa-flask-vial', | ||||
|   optionsFilter: options => options.editable, | ||||
|   action: (item, actor) => actor.fabriquerDecoctionHerbe(item) | ||||
| } | ||||
| const _OUVRIR = { | ||||
| @@ -84,14 +79,12 @@ const _OUVRIR = { | ||||
|  | ||||
| const _LIRE = { | ||||
|   code: 'item-lire', label: 'Lire', icon: it => 'fa-solid fa-book-open', | ||||
|   optionsFilter: options => options.editable, | ||||
|   action: (item, actor) => actor.actionLire(item) | ||||
| } | ||||
|  | ||||
| const _REFOULER = { | ||||
|   code: 'item-refouler', label: 'Refouler', icon: it => 'fa-solid fa-burst', | ||||
|   filter: it => it.system.refoulement > 0, | ||||
|   optionsFilter: options => options.editable, | ||||
|   action: (item, actor) => actor.actionRefoulement(item) | ||||
| } | ||||
|  | ||||
| @@ -102,7 +95,7 @@ const _SORT_RESERVE = { | ||||
| } | ||||
|  | ||||
| export const COMMON_ACTIONS = [_EQUIPER] | ||||
| export const DEFAULT_ACTIONS = [_SPACEHOLDER, _SPLIT, _VENDRE, _MONTRER, _EDIT, _DELETE] | ||||
| export const DEFAULT_ACTIONS = [_ACHETER, _SPACEHOLDER, _SPLIT, _VENDRE, _MONTRER, _EDIT, _DELETE] | ||||
|  | ||||
| export const ITEM_ACTIONS = { | ||||
|   faune: [_CUISINER, _MANGER_CRU], | ||||
| @@ -114,17 +107,16 @@ export const ITEM_ACTIONS = { | ||||
|   ombre: [_REFOULER], | ||||
|   plante: [_CUISINER, _MANGER_CRU], | ||||
|   queue: [_REFOULER], | ||||
|   sort: [_SORT_RESERVE], | ||||
|   service: [_ACHAT_SERVICE] | ||||
|   sort: [_SORT_RESERVE] | ||||
| } | ||||
|  | ||||
|  | ||||
| export class ItemAction { | ||||
|  | ||||
|   static applies(action, item, options) { | ||||
|     return action && item | ||||
|       && item.isActionAllowed(action.code) | ||||
|       && (!action.filter || action.filter(item)) | ||||
|       && (action.allowLimited || options.editable) | ||||
|       && (!action.optionsFilter || action.optionsFilter(options)) | ||||
|   } | ||||
|  | ||||
| @@ -136,10 +128,10 @@ export class ItemAction { | ||||
|   } | ||||
|  | ||||
|   static async onActionItem(event, actor, options) { | ||||
|     const item = RdDSheetUtility.getItem(event, actor) | ||||
|     const code = $(event.currentTarget).data('code') | ||||
|     const item = RdDSheetUtility.getItem(event, actor) | ||||
|     const action = item?.itemActions().find(it => it.code == code) | ||||
|     if (action && (!action.optionsFilter || action.optionsFilter(options))) { | ||||
|     if (action && ItemAction.applies(action, item, options)) { | ||||
|       await action.action(item, actor) | ||||
|     } | ||||
|   } | ||||
|   | ||||
| @@ -8,6 +8,7 @@ import { RdDTimestamp } from "./time/rdd-timestamp.js"; | ||||
| import { RdDRaretes } from "./item/raretes.js"; | ||||
| import { VOIES_DRACONIC } from "./item-sort.js"; | ||||
| import { SystemCompendiums } from "./settings/system-compendiums.js"; | ||||
| import { Misc } from "./misc.js"; | ||||
|  | ||||
| class Migration { | ||||
|   get code() { return "sample"; } | ||||
| @@ -632,12 +633,21 @@ class _12_0_38_TachesEcriture extends Migration { | ||||
|   async migrate() { | ||||
|     await this.applyItemsUpdates(items => items | ||||
|       .filter(it => [ITEM_TYPES.tache, ITEM_TYPES.livre, ITEM_TYPES.oeuvre, ITEM_TYPES.meditation].includes(it.type) ) | ||||
|       .filter(it => it.system.competence == 'Ecriture') | ||||
|       .filter(it => Grammar.equalsInsensitive(it.system.competence, 'ecriture')) | ||||
|       .map(it => { return { _id: it.id, 'system.competence': 'Écriture' } }) | ||||
|     ) | ||||
|   } | ||||
| } | ||||
|  | ||||
| class _13_0_4_FixReveActuel extends Migration { | ||||
|   get code() { return "fix-revvve-actuel" } | ||||
|   get version() { return "13.0.4" } | ||||
|  | ||||
|   async migrate() { | ||||
|     game.actors.forEach(it => it.update({'system.carac.-=reve-actuel': null})) | ||||
|   } | ||||
| } | ||||
|  | ||||
| export class Migrations { | ||||
|   static getMigrations() { | ||||
|     return [ | ||||
| @@ -660,7 +670,8 @@ export class Migrations { | ||||
|       new _12_0_26_MigrationVoieSorts(), | ||||
|       new _12_0_32_MigrationRaces(), | ||||
|       new _12_0_37_MigrationAlchimieEtat(), | ||||
|       new _12_0_38_TachesEcriture() | ||||
|       new _12_0_38_TachesEcriture(), | ||||
|       new _13_0_4_FixReveActuel() | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -40,7 +40,7 @@ export class RdDRoll extends Dialog { | ||||
|       etat: actor.getEtatGeneral(), | ||||
|       moral: actor.getMoralTotal(), /* La valeur du moral pour les jets de volonté */ | ||||
|       amoureux: actor.listeSuivants(it => it.coeur > 0), | ||||
|       carac: actor.system.carac, | ||||
|       carac: foundry.utils.duplicate(actor.system.carac), | ||||
|       finalLevel: 0, | ||||
|       diffConditions: 0, | ||||
|       diffLibre: rollData.competence?.system.default_diffLibre ?? 0, | ||||
|   | ||||
| @@ -89,7 +89,7 @@ export class RdDTokenHud { | ||||
|     if (target?.actor) { | ||||
|       const hudSoins = { blessures: target.actor.blessuresASoigner() ?? [] }; | ||||
|       if (hudSoins.blessures.length > 0) { | ||||
|         const controlIconTarget = html.find('.control-icon[data-action=combat]'); | ||||
|         const controlIconTarget = $(html).find('.control-icon[data-action=combat]'); | ||||
|         await RdDTokenHud._configureSubMenu(controlIconTarget, | ||||
|           'systems/foundryvtt-reve-de-dragon/templates/hud-actor-soins.hbs', | ||||
|           hudSoins, | ||||
| @@ -112,6 +112,7 @@ export class RdDTokenHud { | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static async addTokenHudExtensions(app, html, tokenId) { | ||||
|     console.log(`Adding token HUD extensions for token ${tokenId}`); | ||||
|     const controlIconCombat = $(html).find('.control-icon[data-action=combat]'); | ||||
|     if (controlIconCombat.length > 0) { | ||||
|       controlIconCombat.click(event => { | ||||
| @@ -129,7 +130,7 @@ export class RdDTokenHud { | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static async _configureSubMenu(insertionPoint, template, hudData, onMenuItem) { | ||||
|     const hud = $(await renderTemplate(template, hudData)); | ||||
|     const hud = $(await foundry.applications.handlebars.renderTemplate(template, hudData)); | ||||
|     const list = hud.find('div.rdd-hud-list'); | ||||
|  | ||||
|     RdDTokenHud._toggleHudListActive(hud, list); | ||||
|   | ||||
| @@ -4,7 +4,7 @@ import { Misc } from "../misc.js" | ||||
| export const EXPORT_CSV_SCRIPTARIUM = 'export-csv-scriptarium' | ||||
|  | ||||
| const OPTIONS_AVANCEES = [ | ||||
|   { group: 'Menus', name: EXPORT_CSV_SCRIPTARIUM, descr: "Proposer le menu d'export csv Scriptarium" }, | ||||
|   { group: 'Menus', name: EXPORT_CSV_SCRIPTARIUM, descr: "Proposer le menu d'export csv Scriptarium", default: false }, | ||||
| ] | ||||
|  | ||||
| export class OptionsAvancees extends FormApplication { | ||||
| @@ -24,10 +24,6 @@ export class OptionsAvancees extends FormApplication { | ||||
|     }) | ||||
|   } | ||||
|  | ||||
|   constructor(...args) { | ||||
|     super(...args) | ||||
|   } | ||||
|  | ||||
|   static _getId(name) { | ||||
|     return `rdd-advanced-${name}` | ||||
|   } | ||||
|   | ||||
| @@ -15,6 +15,8 @@ const TEMPLATE_CALENDRIER = "systems/foundryvtt-reve-de-dragon/templates/time/ca | ||||
| const INITIAL_CALENDAR_POS = { top: 200, left: 200, horlogeAnalogique: true }; | ||||
| /* -------------------------------------------- */ | ||||
| export class RdDCalendrier extends Application { | ||||
|   static _warnedAppV1 = true | ||||
|  | ||||
|   static initSettings() { | ||||
|     game.settings.register(SYSTEM_RDD, "liste-nombre-astral", { | ||||
|       name: "liste-nombre-astral", | ||||
| @@ -242,7 +244,7 @@ export class RdDCalendrier extends Application { | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    *  | ||||
|    * | ||||
|    * @param {*} indexDate la date pour laquelle obtenir le nombre astral. Si undefined, on prend la date du jour | ||||
|    * @returns le nombre astral pour la date, ou pour la date du jour si la date n'est pas fournie. | ||||
|    *  Si aucun nombre astral n'est trouvé, retourne 0 (cas où l'on demanderait un nombre astral en dehors des 12 jours courant et à venir) | ||||
|   | ||||
| @@ -3,8 +3,8 @@ type: faune | ||||
| img: systems/foundryvtt-reve-de-dragon/icons/faune/ours.webp | ||||
| system: | ||||
|   description: >- | ||||
|     <p>Ours. Forêt, montagne, 300 kg, 600 sust.Surtout recherché | ||||
|     pour sa peau (voir legrizzal, p405).</p> | ||||
|     <p>Ours. Forêt, montagne, 300 kg, 600 sust. Surtout recherché | ||||
|     pour sa peau (voir le grizzal, p405).</p> | ||||
|   descriptionmj: '' | ||||
|   encombrement: 150 | ||||
|   quantite: 1 | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| {{#unless item.system.isHidden}} | ||||
| {{#if (ne item.type 'monnaie')}} | ||||
| <li class="item flexrow list-item" data-item-id="{{item._id}}" draggable="true"> | ||||
|   <span class="equipement-nom {{#if (eq item.type 'conteneur')}}conteneur-name{{/if}} "> | ||||
|   <span class="equipement-nom{{#if (eq item.type 'conteneur')}} conteneur-name{{/if}} "> | ||||
|     <a{{#if (and (ne item.type 'conteneur') options.isObserver)}} class="item-edit"{{/if}} > | ||||
|     {{#if (eq item.type 'conteneur')}} | ||||
|       <i class="{{~#if vide}}far fa-square | ||||
|   | ||||
| @@ -7,7 +7,7 @@ | ||||
|       <div> | ||||
|         <h1 class="charname">{{name}}</h1> | ||||
|       </div> | ||||
|       <div> | ||||
|       <div class="flexrow"> | ||||
|         <a class="button-appel-chance"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/assets/ui/appel-chance.svg" data-tooltip="Appel à la chance"/></a> | ||||
|         <a class="button-encaissement"><img class="button-img" src="icons/svg/bones.svg" data-tooltip="Encaisser des dommages"/></a> | ||||
|         <a class="button-ethylisme"><img class="button-img" src="icons/svg/tankard.svg" data-tooltip="Boire"/></a> | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| {{#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" data-tooltip="{{#if (gt item.system.quantite 1)}}{{item.system.quantite}} {{/if}}{{item.name}}"> | ||||
|   <span class="equipement-nom flexrow {{#if (eq item.type 'conteneur')}}conteneur-name{{/if}} "> | ||||
|   <span class="equipement-nom {{#if (eq item.type 'conteneur')}}conteneur-name{{/if}} "> | ||||
|     {{#if (eq item.type 'conteneur')}} | ||||
|     <a> | ||||
|       <i class="{{~#if vide}}far fa-square | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||
| <h4>{{#if isVente}}Achat{{else}}Don{{/if}}</h4> | ||||
| <h4><img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||
|   {{#if isVente}}Achat{{else}}Don{{/if}}</h4> | ||||
| <p> | ||||
|   {{#if acheteur}}{{acheteur.name}}{{else}}L'acheteur{{/if}} a | ||||
|   {{#if isVente}}acheté{{else}}pris{{/if}} | ||||
|   | ||||
| @@ -1,8 +1,10 @@ | ||||
| <img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||
| <h4>{{actor.name}} a gagné de l'expérience</h4> | ||||
| <h4><img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||
|   {{actor.name}} a gagné de l'expérience | ||||
| </h4> | ||||
| {{#each xpData as |it|}} | ||||
|   {{#if (gt it.xpCarac 0)}} | ||||
|   <hr> | ||||
|     <hr> | ||||
|     <p> | ||||
|     {{it.xpCarac}} point{{#if (gt it.xpCarac 1)}}s{{/if}} | ||||
|     {{#if it.caracRepartitionManuelle}}à répartir manuellement dans la caractéristique dérivée{{else}}en{{/if}} | ||||
|     {{it.caracName}}. | ||||
| @@ -10,9 +12,11 @@ | ||||
|       L'expérience dans cette caractéristique est de {{it.checkCarac.xp}}, elle peut progresser! | ||||
|       <br>Vous devez ouvrir votre fiche de personnage et appliquer l'augmentation manuellement. | ||||
|     {{/if}} | ||||
|     </p> | ||||
|   {{/if}} | ||||
|   {{#if (gt it.xpCompetence 0)}} | ||||
|   <hr> | ||||
|     <hr> | ||||
|     <p> | ||||
|     {{it.xpCompetence}} point{{#if (gt it.xpCompetence 1)}}s{{/if}} en {{it.competence.name}}. | ||||
|       {{#if it.checkComp}} | ||||
|         L'expérience dans cette compétence est de {{it.checkComp.xp}}, elle peut progresser jusqu'à {{it.checkComp.niveau}}! | ||||
| @@ -25,5 +29,6 @@ | ||||
|           {{/if}} | ||||
|         {{/if}} | ||||
|       {{/if}} | ||||
|     </p> | ||||
|   {{/if}} | ||||
| {{/each}} | ||||
| @@ -1,2 +1,3 @@ | ||||
| <img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||
| <h4>C'est au tour de {{alias}} !</h4> | ||||
| <h4><img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||
|   C'est au tour de {{alias}} ! | ||||
| </h4> | ||||
|   | ||||
| @@ -1,13 +1,14 @@ | ||||
| <img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||
| <h4>Résumé de santé pour {{alias}}</h4> | ||||
| <div data-combatid="{{combatId}}" data-combatmessage="actor-turn-summary">{{blessuresStatus}}</div> | ||||
| <div>Son état général est de : {{etatGeneral}} {{#if isSonne}} et est <strong>sonné</strong>{{/if}}</div> | ||||
| <h4><img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||
|   Résumé de santé pour {{alias}} | ||||
| </h4> | ||||
| <p data-combatid="{{combatId}}" data-combatmessage="actor-turn-summary">{{blessuresStatus}}</p> | ||||
| <p>Son état général est de : {{etatGeneral}} {{#if isSonne}} et est <strong>sonné</strong>{{/if}}</p> | ||||
| {{#if isGrave}} | ||||
| <div>{{alias}} souffre de Blessure(s) Grave(s) : n'oubliez pas de faire un Jet de Vie toutes les SC ({{SConst}}) minutes. Un point d'Endurance a été retiré automatiquement.</div> | ||||
| <p>{{alias}} souffre de Blessure(s) Grave(s) : n'oubliez pas de faire un Jet de Vie toutes les SC ({{SConst}}) minutes. Un point d'Endurance a été retiré automatiquement.</p> | ||||
| {{/if}} | ||||
| {{#if isCritique}} | ||||
| <div>{{alias}} souffre d'une <strong>Blessure Critique</strong> : faites un  | ||||
| <p>{{alias}} souffre d'une <strong>Blessure Critique</strong> : faites un  | ||||
|   <a class="chat-card-button chat-jet-vie" | ||||
|    data-tokenId="{{tokenId}}" | ||||
|    data-actorId="{{actorId}}">Jet de Vie.<a></div> | ||||
|    data-actorId="{{actorId}}">Jet de Vie.<a></p> | ||||
| {{/if}} | ||||
| @@ -1,14 +1,15 @@ | ||||
| <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> | ||||
| <h4><img class="chat-icon" src="{{rencontre.img}}" data-tooltip="{{rencontre.name}}" /> | ||||
|   {{#if mauvaise}}Mauvaise rencontre{{else}}Rencontre{{/if}} en {{typeTmr-name tmr.type}} | ||||
| </h4> | ||||
| <p>{{row.document.pack}}</p> | ||||
| <p>Jet: {{row.roll.formula}} : {{row.roll.total}}{{percentages}}</p> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <p>{{rencontre.name}} de force {{rencontre.system.force}} ({{rencontre.system.formule}})</p> | ||||
|   <p>{{linkCompendium row.document.pack row.document.id row.document.name}}</p> | ||||
|   {{#if rencontre.system.description}} | ||||
|   <div class="poesie-extrait"> | ||||
|   <p class="poesie-extrait"> | ||||
|     {{{rencontre.system.description}}} | ||||
|   </div> | ||||
|   </p> | ||||
|   {{/if}} | ||||
| </div> | ||||
| </p> | ||||
| @@ -1,21 +1,21 @@ | ||||
| <h4>Tirage aléatoire: {{document.name}}</h4> | ||||
| <div> | ||||
| <p> | ||||
|   Tirage de {{typeName}} aléatoire | ||||
|   {{#if options.showSource}} depuis {{document.pack}}{{/if}} | ||||
| </div> | ||||
| <div>Jet {{roll.formula}} : {{roll.total}}</div> | ||||
| </p> | ||||
| <p>Jet {{roll.formula}} : {{roll.total}}</p> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <img class="chat-icon" src="{{document.img}}" data-tooltip="{{document.name}}" /> | ||||
|   <p>{{linkCompendium document.pack document.id document.name}}</p> | ||||
|   {{#if document.system.formule}} | ||||
|   <div class="poesie-extrait"> | ||||
|   <p class="poesie-extrait"> | ||||
|     @roll[{{document.system.formule}}] | ||||
|   </div> | ||||
|   </p> | ||||
|   {{/if}} | ||||
|   {{#if document.system.description}} | ||||
|   <div class="poesie-extrait"> | ||||
|   <p class="poesie-extrait"> | ||||
|     {{{document.system.description}}} | ||||
|   </div> | ||||
|   </p> | ||||
|   {{/if}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,13 +1,12 @@ | ||||
| <div> | ||||
|   <img class="chat-icon" src="{{img}}" data-tooltip="{{typeName}}" /> | ||||
|   <h4>Table aléatoire: {{typeName}}</h4> | ||||
|   {{#with (lookup table 0) as |row|}} | ||||
|   <div> | ||||
|     {{row.document.pack}} | ||||
|   </div> | ||||
|   {{/with}} | ||||
|   <br> | ||||
| </div> | ||||
| <h4><img class="chat-icon" src="{{img}}" data-tooltip="{{typeName}}" /> | ||||
|   Table aléatoire: {{typeName}} | ||||
| </h4> | ||||
| {{#with (lookup table 0) as |row|}} | ||||
| <p> | ||||
|   {{row.document.pack}} | ||||
| </p> | ||||
| {{/with}} | ||||
| <br> | ||||
| <div> | ||||
|   <ul class="flexcol item-list alterne-list"> | ||||
|     {{#each table as |row|}} | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| <img class="chat-icon" src="{{img}}" data-tooltip="potion de repos" /> | ||||
| <h4> | ||||
|   <img class="chat-icon" src="{{img}}" data-tooltip="potion de repos" /> | ||||
|   {{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée{{/if}}</strong> | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if system.magique}} | ||||
|     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. | ||||
|     {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| @@ -15,4 +15,4 @@ | ||||
|     {{/if}} | ||||
|   {{/if}}. | ||||
|   <br>La potion a été supprimée de l'équipement. | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,9 +1,8 @@ | ||||
| <img class="chat-icon" src="{{img}}" data-tooltip="potion de repos" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{img}}" data-tooltip="potion de repos" /> | ||||
|   {{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de puissance {{system.puissance}}{{/if}}</strong>. | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if system.magique}} | ||||
|     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. | ||||
|     {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| @@ -24,4 +23,4 @@ | ||||
|     Une fois consommée (vers fin Lyre), elle vous octroie un bonus de {{system.herbebonus}} segments de fatigue récupérés en plus à la fin de Chateau Dormant (à gérer manuellement). | ||||
|   {{/if}} | ||||
|   <br>La potion a été supprimée de l'équipement. | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,9 +1,8 @@ | ||||
| <img class="chat-icon" src="{{img}}" data-tooltip="potion de soin" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{img}}" data-tooltip="potion de soin" /> | ||||
|   {{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de {{system.puissance}} points de guérison{{/if}}</strong> | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if system.magique}} | ||||
|     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. | ||||
|     {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| @@ -22,4 +21,4 @@ | ||||
|     Lors de votre prochain jet de récupération à Chateau Dormant, vous bénéficierez d'un bonus de {{system.herbebonus}} (appliqué automatiquement). | ||||
|   {{/if}} | ||||
|   <br>La potion a été supprimée de l'équipement. | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,5 +1,4 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||
|   {{attacker.name}} a entraîné {{defender.name}} au sol | ||||
| </h4> | ||||
| <hr> | ||||
|   | ||||
| @@ -1,9 +1,8 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||
|   {{attacker.name}} a empoigné {{defender.name}} | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <span class='chat-card-button-area'> | ||||
|     {{attacker.name}} vient d'obtenir 2 points d'Emp, et peut | ||||
|       entraîner {{defender.name}} au sol. Les deux protagonistes | ||||
| @@ -13,4 +12,4 @@ | ||||
|         Entraîner au sol | ||||
|       </a> | ||||
|   </span> | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,13 +1,10 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||
|   {{attacker.name}} a empoigné {{defender.name}} | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <span class='chat-card-button-area'> | ||||
|     <p> | ||||
|       {{attacker.name}} a obtenu 2 points d'Emp à la fin du round précédent, et peut: | ||||
|        | ||||
|       <ul><li> | ||||
|         faire perdre des points d'Endurance à {{defender.name}} | ||||
|         <br> | ||||
| @@ -30,6 +27,5 @@ | ||||
|           </a> | ||||
|         {{/if}} | ||||
|       </li></ul> | ||||
|     </p> | ||||
|   </span> | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,8 +1,7 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||
|   {{attacker.name}} a fait perdre de l'endurance à {{defender.name}} | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{defender.name}} reste immobilisé. L'empoignade peut continuer. | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,8 +1,7 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||
|   {{attacker.name}} a projeté {{defender.name}} au sol | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   L'empoignade est terminée et a été supprimée. | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,5 +1,4 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||
|   {{#if (eq mode "empoigner")}} | ||||
|     {{attacker.name}} tente d'empoigner {{defender.name}} | ||||
|   {{/if}} | ||||
| @@ -16,7 +15,7 @@ | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
|  | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|  | ||||
|   {{#if (gte empoignade.system.pointsemp 2)}}     | ||||
|    | ||||
| @@ -75,4 +74,4 @@ | ||||
|     </span> | ||||
|   <br>Points d'Emp: {{empoignade.system.pointsemp}} | ||||
|   {{/if}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,9 +1,8 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||
|   {{attacker.name}} tente d'empoigner {{defender.name}} | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <span class='chat-card-button-area'> | ||||
|     <br> | ||||
|     <strong>{{attacker.name}} tente d'empoigner {{defender.name}}, qui est équipé d'une arme de mêlée. {{defender.name}} | ||||
| @@ -16,4 +15,4 @@ | ||||
|       Poursuivre l'empoignade | ||||
|     </a> | ||||
|   </span> | ||||
| </div> | ||||
| </p> | ||||
| @@ -1,15 +1,14 @@ | ||||
| <img class="chat-icon" src="{{herbe.img}}" data-tooltip="fabrication" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{herbe.img}}" data-tooltip="fabrication" /> | ||||
|   {{alias}} a fabriqué une potion de {{herbe.system.categorie}} de {{herbe.name}}, avec {{herbe.nbBrins}} brins. | ||||
| </h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if (eq nbBrinsReste 0)}} | ||||
|   Toute l'herbe a été consommée par la potion. L'herbe a été supprimée de l'inventaire. | ||||
|   {{else}} | ||||
|   La quantité d'herbe est désormais de {{nbBrinsReste}} et a été mise à jour automatiquement. | ||||
|   {{/if}} | ||||
| </div> | ||||
| <div> | ||||
| </p> | ||||
| <p> | ||||
|   Pensez à mettre la potion dans une fiole ! | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <img class="chat-icon" src="{{sortReserve.img}}" data-tooltip="{{sortReserve.name}}"/> | ||||
| <h4>Déclenchement de sort: {{sortReserve.name}}</h4> | ||||
| <h4><img class="chat-icon" src="{{sortReserve.img}}" data-tooltip="{{sortReserve.name}}"/> | ||||
|   Déclenchement de sort: {{sortReserve.name}}</h4> | ||||
| <br> Vous avez déclenché {{#if sortReserve.system.echectotal}}<strong>l'échec total</strong>{{else}}le sort{{/if}} | ||||
| en réserve en {{sortReserve.system.coord}} ({{caseTmr-label sortReserve.system.coord}}). | ||||
| <br>Ce sort a {{sortReserve.system.ptreve}} points de Rêve | ||||
| @@ -7,7 +7,7 @@ en réserve en {{sortReserve.system.coord}} ({{caseTmr-label sortReserve.system. | ||||
|   {{timestamp-imgSigneHeure sortReserve.system.heurecible}} {{sortReserve.system.heurecible}} | ||||
|    {{else}}indéterminée{{/if}} | ||||
| {{#if sort}} | ||||
| <div class="poesie-extrait poesie-overflow"> | ||||
| <p class="poesie-extrait poesie-overflow"> | ||||
|   {{{sort.system.description}}} | ||||
| </div> | ||||
| </p> | ||||
| {{/if}} | ||||
|   | ||||
| @@ -1,9 +1,8 @@ | ||||
| <img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||
|   La {{item.type}} enchantée {{item.name}} de {{alias}} a perdu un Point de Rêve (nouveau total : {{nouveaupr}}).</h4> | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if (and (eq item.type 'potion') (eq nouveaupr 0))}} | ||||
|   Sa {{item.type}} étant désormais à 0 Point de Rêve, elle est inutilisable et peut être jetée. | ||||
|   {{/if}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}"/> | ||||
| <h4 data-categorie="tmr" data-actor-id="{{actor._id}}" data-rencontre-round="{{nbRounds}}"> | ||||
|   <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}"/> | ||||
|   {{alias}} rencontre {{#if (eq rencontre.system.genre 'f')}}une{{else}}un{{/if}} {{rencontre.name}} de force {{rencontre.system.force}} | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
|   | ||||
| @@ -3,8 +3,8 @@ | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div>{{#if rolled.isSuccess}} | ||||
| <p>{{#if rolled.isSuccess}} | ||||
|     {{alias}} s'est accordé à {{entite}} | ||||
|     {{else}}ne s'est pas accordé à {{entite}}, il pourra réessayer à sa prochaine attaque. | ||||
|     {{/if}}  | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,14 +1,13 @@ | ||||
| <img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.webp" data-tooltip="préparation alchimique" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.webp" data-tooltip="préparation alchimique" /> | ||||
|   {{alias}} essaye de réaliser sa recette Alchimique : {{recette.name}} | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   {{alias}} a réussi son opération alchimique ! Il/Elle peut passer à l'étape suivante de sa recette.  | ||||
|   {{else}} | ||||
|   {{alias}} a raté son opération alchimique ! Sa recette est un echec. | ||||
|   {{/if}} | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -4,5 +4,5 @@ | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| {{~#if rolled.isSuccess}} | ||||
| <hr> | ||||
| <span>Un point de chance est dépensé, l'action peut être retentée!</span> | ||||
| <p>Un point de chance est dépensé, l'action peut être retentée!</p> | ||||
| {{/if}} | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| <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> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} attaque  à {{diffLibre}}: {{arme.name}}</h4> | ||||
| <p>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| {{#if tactique}} | ||||
|   <div> | ||||
|   <p> | ||||
|     {{#if (eq tactique 'charge')}} | ||||
|     <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! | ||||
| @@ -14,9 +14,9 @@ | ||||
|         Votre feinte peut faire mouche! | ||||
|       {{/if}} | ||||
|     {{/if}} | ||||
|   </div> | ||||
|   </p> | ||||
| {{/if}} | ||||
| <div> | ||||
| <p> | ||||
|  {{#if rolled.isSuccess}} | ||||
|   <span><strong>{{show.cible}}</strong> doit se défendre à <strong>{{diffLibre}}</strong>, ou encaisser à | ||||
|     {{~#if (eq dmg.mortalite 'non-mortel')}} | ||||
| @@ -37,4 +37,4 @@ | ||||
|   <span>Votre attaque a échoué!</span> | ||||
| {{/if}} | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
| @@ -1,15 +1,14 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
|   {{alias}} {{#if rolled.isSuccess}}chante{{else}}tente de chanter{{/if}} {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||
|   {{else}} | ||||
|   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. | ||||
|   {{/if}} | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-description.hbs" oeuvre.system}} | ||||
|   | ||||
| @@ -1,5 +1,4 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} {{show.title}}: | ||||
|   {{#if selectedCarac}}{{selectedCarac.label}} | ||||
|     {{#if competence}} | ||||
| @@ -9,12 +8,12 @@ | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <span>{{#if rolled.ptTache}}{{rolled.ptTache}} points de tâche{{/if}}{{#if rolled.ptQualite}}{{#if rolled.ptTache}},{{/if}} Qualité ajustée de {{rolled.ptQualite}}{{/if}}</span> | ||||
| </div> | ||||
| </p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| {{~#if show.explications}} | ||||
| <div> | ||||
| <p> | ||||
|   {{show.explications}} | ||||
| </div> | ||||
| </p> | ||||
| {{/if}} | ||||
|   | ||||
| @@ -1,15 +1,14 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
|   {{alias}} {{#if rolled.isSuccess}}danse{{else}}tente de danser{{/if}} {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||
|   {{else}} | ||||
|   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. | ||||
|   {{/if}} | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-description.hbs" oeuvre.system}} | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| <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> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} esquive une attaque à {{diffLibre}}</h4> | ||||
| <p>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   <span>Attaque esquivée!</span> | ||||
|     {{#if rolled.isPart}} | ||||
| @@ -14,10 +14,10 @@ | ||||
|   <span>L'esquive de {{alias}} a échoué!</span> | ||||
|   {{/if}} | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
|  | ||||
| {{#if attackerRoll.tactique}} | ||||
| <div> | ||||
| <p> | ||||
|   {{#if (eq attackerRoll.tactique 'charge')}} | ||||
|   <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! | ||||
| @@ -25,5 +25,5 @@ | ||||
|   <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> | ||||
| </p> | ||||
| {{/if}} | ||||
|   | ||||
| @@ -1,5 +1,4 @@ | ||||
| <img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/objets/chope_gres.webp" data-tooltip="Ethylisme" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/objets/chope_gres.webp" data-tooltip="Ethylisme" /> | ||||
|   {{alias}} boit un verre d'alcool de force {{jetVie.forceAlcool}} | ||||
|   {{#if alcool}} | ||||
|   <br>{{alcool.name}} | ||||
|   | ||||
| @@ -1,7 +1,5 @@ | ||||
| {{#if competence.img}} | ||||
|   <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
| {{/if}} | ||||
| <h4> | ||||
|   <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} {{#if show.title}}{{show.title}}: {{/if}} | ||||
|   {{#if selectedCarac}}{{selectedCarac.label}} | ||||
|     {{#if competence}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}{{/if}} | ||||
|   | ||||
| @@ -1,15 +1,14 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
|   {{alias}} joue à : {{oeuvre.name}} | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   {{alias}} a gagné la partie ! | ||||
|   {{else}} | ||||
|   {{alias}} a perdu ... | ||||
|   {{/if}} | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-description.hbs" oeuvre.system}} | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
| <h4>{{alias}} lit le signe {{signe.name}}</h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} lit le signe {{signe.name}}</h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   {{alias}} a gagné {{xpSort}} points d'expérience en sorts en {{competence.name}}. | ||||
|   {{else}} | ||||
|   {{alias}} n'a pas pu interpréter le signe draconique. | ||||
|   {{/if}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}"/> | ||||
| <h4 data-categorie="tmr" data-actor-id="{{actor._id}}"> | ||||
|   <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}"/> | ||||
|   {{alias}} tente de {{maitrise.verbe}} {{grammar-le tmr.genre}} | ||||
|   {{#if isTMRCache}} | ||||
|     {{caseTmr-type tmr.coord}} | ||||
|   | ||||
| @@ -1,10 +1,9 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} a médité : {{meditation.name}} | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   {{alias}} aperçoit un signe draconique éphémère, qu'il faut aller lire en <strong>{{typeTmr-name meditation.system.tmr}}</strong>. | ||||
|   {{else}} | ||||
| @@ -12,4 +11,4 @@ | ||||
|   {{/if}} | ||||
|   <br><span>{{alias}} s'est fatigué de 2 cases.</span> | ||||
|   {{#if rolled.isEPart}}<br><span>Son échec {{#if rolled.isETotal}}total{{else}}particulier{{/if}} augmente de 1 la difficulté de la méditation!</span>{{/if~}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| <img class="chat-icon" src="icons/svg/lightning.svg" data-tooltip="Météo" /> | ||||
| <h4>Météo aléatoire</h4> | ||||
| <h4><img class="chat-icon" src="icons/svg/lightning.svg" data-tooltip="Météo" /> | ||||
|   Météo aléatoire</h4> | ||||
| <ul> | ||||
|   <li>Vent: {{lowerFirst vent.description}} {{grammar-apostrophe 'de' vent.direction}}, force {{vent.force}}</li> | ||||
|   <li>Mer {{lowerFirst mer.description}}, {{grammar-apostrophe 'de' mer.direction}}, force {{mer.force}}</li> | ||||
|   <li>Température {{lowerFirst temperature.description}} ({{plusMoins temperature.force}})</li> | ||||
|   <li>Couverture nuageuse: {{lowerFirst nuage.description}}</li> | ||||
|   <li>Pluie: {{lowerFirst pluie.description}}</li> | ||||
| </div> | ||||
| </ul> | ||||
|   | ||||
| @@ -1,15 +1,14 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
|   {{alias}} {{#if rolled.isSuccess}}interprete{{else}}tente de jouer{{/if}} le morceau : {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||
|   {{else}} | ||||
|   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. | ||||
|   {{/if}} | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-description.hbs" oeuvre.system}} | ||||
|   | ||||
| @@ -1,16 +1,15 @@ | ||||
| <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> | ||||
| <br>{{upperFirst oeuvre.system.default_carac}} / {{oeuvre.system.competence}} | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{#if rolled.isSuccess}} | ||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||
|   {{else}} | ||||
|   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. | ||||
|   {{/if}} | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-description.hbs" oeuvre.system}} | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| <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> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} pare une attaque à {{diffLibre}} - {{arme.name}}</h4> | ||||
| <p>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <span> | ||||
|     {{#if rolled.isSuccess}} | ||||
|     Attaque parée! | ||||
| @@ -13,27 +13,27 @@ | ||||
|     {{/if}} | ||||
|   </span> | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
|  | ||||
| {{#if (eq show.recul 'encaisse')}}<div>{{alias}} ne recule pas malgré la violence du coup.</div> | ||||
| {{else if (eq show.recul 'chute')}}<div>Sous la violence du coup, {{alias}} recule et chute au sol ! Il/elle ne pourra plus attaquer ce round.</div> | ||||
| {{else if (eq show.recul 'recul')}}<div>La violence du coup fait reculer {{alias}} de quelques mètres ! Il/elle ne pourra plus attaquer ce round.</div> | ||||
| {{#if (eq show.recul 'encaisse')}}<p>{{alias}} ne recule pas malgré la violence du coup.</p> | ||||
| {{else if (eq show.recul 'chute')}}<p>Sous la violence du coup, {{alias}} recule et chute au sol ! Il/elle ne pourra plus attaquer ce round.</p> | ||||
| {{else if (eq show.recul 'recul')}}<p>La violence du coup fait reculer {{alias}} de quelques mètres ! Il/elle ne pourra plus attaquer ce round.</p> | ||||
| {{/if}} | ||||
|  | ||||
| {{#if (eq show.deteriorationArme 'resiste')}} | ||||
| <div>L'arme résiste au choc de la parade.</div> | ||||
| <p>L'arme résiste au choc de la parade.</p> | ||||
| {{else if (eq show.deteriorationArme 'brise')}} | ||||
| <div>Sous la violence de la parade, {{arme.name}} s'est brisée!</div> | ||||
| <p>Sous la violence de la parade, {{arme.name}} s'est brisée!</p> | ||||
| {{else if (eq show.deteriorationArme 'perte')}} | ||||
| <div>En parant, l'arme perd {{show.perteResistance}} de résistance.</div> | ||||
| <p>En parant, l'arme perd {{show.perteResistance}} de résistance.</p> | ||||
| {{/if}} | ||||
|  | ||||
| {{#if show.desarme}} | ||||
| <div>Le défenseur {{alias}} lâche son arme qui tombe à ses pieds.</div> | ||||
| <p>Le défenseur {{alias}} lâche son arme qui tombe à ses pieds.</p> | ||||
| {{/if}} | ||||
|  | ||||
| {{#if attackerRoll.tactique}} | ||||
| <div> | ||||
| <p> | ||||
|   {{#if (eq attackerRoll.tactique '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! | ||||
| @@ -42,5 +42,5 @@ | ||||
|     width="32" /> | ||||
|   C'était une feinte! | ||||
|   {{/if}} | ||||
| </div> | ||||
| </p> | ||||
| {{/if}} | ||||
| @@ -1,5 +1,4 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||
|   {{#if (eq mode "attaque")}} | ||||
|     {{attacker.name}} tente de {{#if isECNIDefender}}conjurer la possession de{{else}}posséder{{/if}} {{defender.name}} | ||||
|   {{else}} | ||||
| @@ -9,7 +8,7 @@ | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
|  | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <span class='chat-card-button-area'> | ||||
|     <br> | ||||
|     {{#if (eq mode "attaque")}} | ||||
| @@ -44,4 +43,4 @@ | ||||
|     {{#if possession.isConjurer}} | ||||
|     <br><strong>Vous avez conjuré {{possession.system.typepossession}} ! La possession en cours a été supprimée.</strong> | ||||
|     {{/if}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,5 +1,4 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||
|   {{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.hbs"}} | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <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}}"> | ||||
|   <img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_legendes.webp" data-tooltip="Rêve de Dragon"/> | ||||
|   {{alias}} tente de maîtriser un Rêve de Dragon! | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
|   | ||||
| @@ -1,17 +1,16 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} | ||||
|   le {{#if selectedSort.system.isrituel}}rituel{{else}}sort{{/if}} | ||||
|   {{selectedSort.name}} | ||||
| </h4> | ||||
| <div>Pour {{selectedSort.system.ptreve_reel}} point{{~#if (gt selectedSort.system.ptreve_reel 1)}}s{{/if}} de rêve en {{tmr.label}} ({{tmr.coord}}). | ||||
| <p>Pour {{selectedSort.system.ptreve_reel}} point{{~#if (gt selectedSort.system.ptreve_reel 1)}}s{{/if}} de rêve en {{tmr.label}} ({{tmr.coord}}). | ||||
| {{#if show.reveInsuffisant}} | ||||
| <span>Pas assez de rêve!</span> | ||||
| {{/if}} | ||||
| </div> | ||||
| </p> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   <span> | ||||
|     {{#if rolled.isETotal}}Echec TOTAL | ||||
|     {{else if rolled.isEchec}}Echec | ||||
| @@ -22,8 +21,8 @@ | ||||
|     {{else}}{{depenseReve}} points de rêve ont été dépensés | ||||
|     {{~/if}}. | ||||
|   </span> | ||||
| </div> | ||||
| </p> | ||||
| <hr> | ||||
| <div class="poesie-extrait poesie-overflow"> | ||||
| <p class="poesie-extrait poesie-overflow"> | ||||
|   {{{selectedSort.system.description}}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,11 +1,10 @@ | ||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
| <h4> | ||||
| <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||
|   {{alias}} travaille à sa tâche {{tache.name}} | ||||
|   <br>{{selectedCarac.label}}/{{competence.name}} | ||||
| </h4> | ||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||
| <hr> | ||||
| <div> | ||||
| <p> | ||||
|   {{alias}} a obtenu {{rolled.ptTache}} point{{~#unless (eq rolled.ptTache 1)}}s{{/unless}} de tâche, | ||||
|    son avancement est de | ||||
|    <span class="rdd-roll-{{#if (gt tache.system.points_de_tache_courant 0)}}norm{{else}}etotal{{/if}}">{{tache.system.points_de_tache_courant}} | ||||
| @@ -15,4 +14,4 @@ | ||||
|   {{#if (and tache.system.fatigue appliquerFatigue)}}<br><span>Il s'est fatigué de {{tache.system.fatigue}} case{{~#if (gt tache.system.fatigue 1)}}s{{/if}}.</span>{{/if}} | ||||
|   {{#if rolled.isETotal}}<br><span>Son échec total augmente de 1 la difficulté de la tâche!</span>{{/if~}} | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||
| </div> | ||||
| </p> | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| {{log 'chat-vente-item' this}} | ||||
| <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}}" data-tooltip="{{item.name}}" /> | ||||
|   {{/if}} | ||||
|   <div class="poesie-extrait poesie-overflow card-content">{{{item.system.description}}}</div> | ||||
|   <h4> | ||||
|     {{#if item.img}} | ||||
|     <img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||
|     {{/if}} | ||||
|     {{#if alias}}{{alias}} propose: {{else}}Acheter {{/if}}{{item.name}}</h4> | ||||
|   <p class="poesie-extrait poesie-overflow card-content">{{{item.system.description}}}</p> | ||||
|   <p> | ||||
|     {{#each properties as |property p|}} | ||||
|     <span>{{{property}}}</span><br> | ||||
|   | ||||
| @@ -24,20 +24,18 @@ | ||||
|           <div class="flex-group-center flex-shrink"> | ||||
|             <h4>Le gardien gére les TMR du joueur, le joueur ne peut pas monter dans les TMR!</h4> | ||||
|           </div> | ||||
|           <hr> | ||||
|         {{/if}} | ||||
|         <div class="flex-group-center flex-shrink"> | ||||
|           <img class="small-button-direction tmr-move" data-move="topleft" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-topleft.svg"> | ||||
|           <img class="small-button-direction tmr-move" data-move="top" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-top.svg"> | ||||
|           <img class="small-button-direction tmr-move" data-move="topright" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-topright.svg"> | ||||
|         </div> | ||||
|         <div class="flex-group-center flex-shrink"> | ||||
|           <label>Coordonnées : </label><span id="tmr-pos">0</span> | ||||
|         </div> | ||||
|         <div class="flex-group-center flex-shrink"> | ||||
|           <img class="small-button-direction tmr-move" data-move="bottomleft" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottomleft.svg">         | ||||
|           <img class="small-button-direction tmr-move" data-move="bottom" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottom.svg"> | ||||
|           <img class="small-button-direction tmr-move" data-move="bottomright" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottomright.svg"> | ||||
|         <label class="flex-group-center" >Coordonnées : <span id="tmr-pos">0</span> </label> | ||||
|         <div class="grid-move-tmr"> | ||||
|           <img class="move-tmr-topleft tmr-move" data-move="topleft" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-topleft.svg"> | ||||
|           <img class="move-tmr-top tmr-move" data-move="top" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-top.svg"> | ||||
|           <img class="move-tmr-topright tmr-move" data-move="topright" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-topright.svg"> | ||||
|           <img class="move-tmr-bottomleft tmr-move" data-move="bottomleft" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottomleft.svg">         | ||||
|           <img class="move-tmr-bottom tmr-move" data-move="bottom" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottom.svg"> | ||||
|           <img class="move-tmr-bottomright tmr-move" data-move="bottomright" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottomright.svg"> | ||||
|         </div> | ||||
|         <hr> | ||||
|         <div class="flex-group-center flex-shrink lire-signe-draconique"> | ||||
|           <a>Lire un signe draconique</a> | ||||
|         </div> | ||||
|   | ||||
| @@ -1,14 +0,0 @@ | ||||
| <form class="{{cssClass}}" autocomplete="off"> | ||||
|   {{>"systems/foundryvtt-reve-de-dragon/templates/header-item.hbs"}} | ||||
|   <nav class="sheet-tabs tabs" data-group="primary"> | ||||
|     <a class="item" data-tab="informations">Informations</a> | ||||
|     {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-tab-environnement.hbs"}} | ||||
|   </nav> | ||||
|   <section class="sheet-body"> | ||||
|     <div class="tab items flexcol" data-group="primary" data-tab="informations"> | ||||
|       {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-inventaire.hbs"}} | ||||
|       {{>"systems/foundryvtt-reve-de-dragon/templates/partial-item-description.hbs"}} | ||||
|     </div> | ||||
|     {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-environnement.hbs"}} | ||||
|   </section> | ||||
| </form> | ||||
| @@ -1,14 +0,0 @@ | ||||
| <form class="{{cssClass}}" autocomplete="off"> | ||||
|   {{>"systems/foundryvtt-reve-de-dragon/templates/header-item.hbs"}} | ||||
|   <nav class="sheet-tabs tabs" data-group="primary"> | ||||
|     <a class="item" data-tab="informations">Informations</a> | ||||
|     {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-tab-environnement.hbs"}} | ||||
|   </nav> | ||||
|   <section class="sheet-body"> | ||||
|     <div class="tab items flexcol" data-group="primary" data-tab="informations"> | ||||
|       {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-inventaire.hbs"}} | ||||
|       {{>"systems/foundryvtt-reve-de-dragon/templates/partial-item-description.hbs"}} | ||||
|     </div> | ||||
|     {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-environnement.hbs"}} | ||||
|   </section> | ||||
| </form> | ||||
| @@ -1,14 +0,0 @@ | ||||
| <form class="{{cssClass}}" autocomplete="off"> | ||||
|   {{>"systems/foundryvtt-reve-de-dragon/templates/header-item.hbs"}} | ||||
|   <nav class="sheet-tabs tabs" data-group="primary"> | ||||
|     <a class="item" data-tab="informations">Informations</a> | ||||
|     {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-tab-environnement.hbs"}} | ||||
|   </nav> | ||||
|   <section class="sheet-body"> | ||||
|     <div class="tab items flexcol" data-group="primary" data-tab="informations"> | ||||
|       {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-inventaire.hbs"}} | ||||
|       {{>"systems/foundryvtt-reve-de-dragon/templates/partial-item-description.hbs"}} | ||||
|     </div> | ||||
|     {{>"systems/foundryvtt-reve-de-dragon/templates/item/partial-environnement.hbs"}} | ||||
|   </section> | ||||
| </form> | ||||
| @@ -1,27 +0,0 @@ | ||||
| <form class="rdd-item-sheet-tarot" autocomplete="off"> | ||||
|   <header class="sheet-header"> | ||||
|     <div class="header-fields"> | ||||
|       <h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1> | ||||
|     </div> | ||||
|   </header> | ||||
|   <section class="sheet-body"> | ||||
|     <div class="flexrow"> | ||||
|       <img class="profile-img" src="{{img}}" data-edit="img" data-tooltip="{{name}}"/> | ||||
|       <div class="flexcol"> | ||||
|         <div class="form-group"> | ||||
|           <label for="system.concept">Aspect</label> | ||||
|           <input class="attribute-value" type="text" name="system.concept" value="{{system.concept}}" data-dtype="String" /> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label for="system.aspect">Sens</label> | ||||
|           <select name="system.aspect" data-dtype="String"> | ||||
|             {{#select system.aspect}} | ||||
|             {{>"systems/foundryvtt-reve-de-dragon/templates/enum-aspect-tarot.hbs"}} | ||||
|             {{/select}} | ||||
|           </select> | ||||
|         </div> | ||||
|         {{>"systems/foundryvtt-reve-de-dragon/templates/partial-item-frequence.hbs"}} | ||||
|         {{>"systems/foundryvtt-reve-de-dragon/templates/partial-item-description.hbs"}} | ||||
|       </div> | ||||
|     </section> | ||||
| </form> | ||||
| @@ -1,6 +1,8 @@ | ||||
| <header class="sheet-header"> | ||||
|   <div class="sheet-header-row"> | ||||
|     <img class="profile-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}"/> | ||||
|     <div class="header-fields"> | ||||
|         <h1 class="charname"><input name="name" type="text" value="{{item.name}}" placeholder="Name"/></h1> | ||||
|     </div> | ||||
|   </div> | ||||
| </header> | ||||
|   | ||||
							
								
								
									
										22
									
								
								templates/sheets/item/tarot.hbs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								templates/sheets/item/tarot.hbs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| <section> | ||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/sheets/item/common/header.hbs"}} | ||||
|  | ||||
|   <fieldset> | ||||
|     <div class="form-group"> | ||||
|       <label for="system.concept">Concept</label> | ||||
|       <input type="text" name="system.concept" value="{{system.concept}}" /> | ||||
|     </div> | ||||
|  | ||||
|     <div class="form-group"> | ||||
|       <label for="system.aspect">Aspect</label> | ||||
|       <input type="text" name="system.aspect" value="{{system.aspect}}" /> | ||||
|     </div> | ||||
|  | ||||
|     <div class="form-group"> | ||||
|       <label for="system.frequence">Fréquence</label> | ||||
|       <input type="number" name="system.frequence" value="{{system.frequence}}" data-dtype="Number" /> | ||||
|     </div> | ||||
|   </fieldset> | ||||
|   {{>"systems/foundryvtt-reve-de-dragon/templates/sheets/item/common/template-description.hbs"}} | ||||
|  | ||||
| </section> | ||||
| @@ -36,9 +36,10 @@ | ||||
|     </tr> | ||||
|     {{#each gmAstrologie.ajustementsActors as |ajustementActeur|}} | ||||
|     <tr class="heure-naissance" data-heure-naissance="{{actor.system.heure}}"> | ||||
|       <td> | ||||
|       <td class="info-acteur"> | ||||
|         <img class="img-signe-heure" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||
|         {{actor.name}} {{timestamp-imgSigneHeure actor.system.heure}} | ||||
|         <span>{{actor.name}}</span> | ||||
|         {{timestamp-imgSigneHeure actor.system.heure}} | ||||
|       </td> | ||||
|       {{#each ajustementActeur.ajustements as |ajustement|}} | ||||
|       <td>{{#if (ne ajustement.ajustement 0)}} | ||||
|   | ||||
| @@ -1,18 +1,32 @@ | ||||
| <div class="calendar-horloge"> | ||||
| 	{{#if isGM}} | ||||
| 		<div class="calendar-boutons-heure"> | ||||
| 			<i class="calendar-btn calendar-1min" data-calendar-avance="1" data-tooltip="Avancer de 1 minute">+1</i> | ||||
| 			<i class="calendar-btn calendar-5min" data-calendar-avance="5" data-tooltip="Avancer de 5 minutes">+5</i> | ||||
| 			<i class="calendar-btn calendar-15min" data-calendar-avance="15" data-tooltip="Avancer de 15 minutes">+15</i> | ||||
| 			<i class="calendar-btn calendar-30min" data-calendar-avance="30" data-tooltip="Avancer de 30 minutes">+30</i> | ||||
| 			<i class="calendar-btn calendar-60min" data-calendar-avance="60" data-tooltip="Avancer de 60 minutes" >+60</i> | ||||
| 			<i class="calendar-btn calendar-1heure" data-calendar-avance="120" data-tooltip="Avancer d'1 heure" >+1h</i> | ||||
| 			<i class="calendar-btn calendar-lyre fas fa-forward" data-calendar-set="6" data-tooltip="Avancer à Lyre"> | ||||
| 				<img src="systems/foundryvtt-reve-de-dragon/icons/heures/hd07.svg" data-tooltip="Avancer à Lyre"/> | ||||
| 			</i> | ||||
| 			<i class="calendar-btn calendar-vaisseau fas fa-forward" data-calendar-set="0" data-tooltip="Avancer au Vaisseau"> | ||||
| 				<img src="systems/foundryvtt-reve-de-dragon/icons/heures/hd01.svg" data-tooltip="Avancer au Vaisseau"/> | ||||
| 			</i> | ||||
| 			<a class="calendar-btn calendar-1min" data-calendar-avance="1" data-tooltip="Avancer de 1 minute"> | ||||
| 				<i>+1</i> | ||||
| 			</a> | ||||
| 			<a class="calendar-btn calendar-5min" data-calendar-avance="5" data-tooltip="Avancer de 5 minutes"> | ||||
| 				<i>+5</i> | ||||
| 			</a> | ||||
| 			<a class="calendar-btn calendar-15min" data-calendar-avance="15" data-tooltip="Avancer de 15 minutes"> | ||||
| 				<i>+15</i> | ||||
| 			</a> | ||||
| 			<a class="calendar-btn calendar-30min" data-calendar-avance="30" data-tooltip="Avancer de 30 minutes"> | ||||
| 				<i>+30</i> | ||||
| 			</a> | ||||
| 			<a class="calendar-btn calendar-60min" data-calendar-avance="60" data-tooltip="Avancer de 60 minutes"> | ||||
| 				<i>+60</i> | ||||
| 			</a> | ||||
| 			<a class="calendar-btn calendar-1heure" data-calendar-avance="120" data-tooltip="Avancer d'1 heure"> | ||||
| 				<i>+1h</i> | ||||
| 			</a> | ||||
| 			<a class="calendar-btn calendar-lyre" data-calendar-set="6" data-tooltip="Avancer à Lyre"> | ||||
| 				<i class="fas fa-forward"></i> | ||||
| 				<img src="systems/foundryvtt-reve-de-dragon/icons/heures/hd07.svg"/> | ||||
| 			</a> | ||||
| 			<a class="calendar-btn calendar-vaisseau" data-calendar-set="0" data-tooltip="Avancer au Vaisseau"> | ||||
| 				<i class="fas fa-forward"></i> | ||||
| 				<img src="systems/foundryvtt-reve-de-dragon/icons/heures/hd01.svg"/> | ||||
| 			</a> | ||||
| 		</div> | ||||
| 	{{/if}} | ||||
| 	<div class="horloge-digitale"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user