Compare commits
	
		
			22 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 | 
| @@ -64,13 +64,13 @@ jobs: | |||||||
|           system.json |           system.json | ||||||
|         api_key: '${{secrets.ALLOW_PUSH_RELEASE}}' |         api_key: '${{secrets.ALLOW_PUSH_RELEASE}}' | ||||||
|  |  | ||||||
|     #- name: Publish to Foundry server |     - name: Publish to Foundry server | ||||||
|     #  uses: djlechuck/foundryvtt-publish-package-action@v1 |       uses: djlechuck/foundryvtt-publish-package-action@v1 | ||||||
|     #  with: |       with: | ||||||
|     #    token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }} |         token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }} | ||||||
|     #    id: 'foundryvtt-reve-de-dragon' |         id: 'foundryvtt-reve-de-dragon' | ||||||
|     #    version: ${{github.event.release.tag_name}} |         version: ${{github.event.release.tag_name}} | ||||||
|     #    manifest: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/system.json' |         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' |         notes: 'https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/branch/v13/changelog.md' | ||||||
|     #    compatibility-minimum: '13' |         compatibility-minimum: '13' | ||||||
|     #    compatibility-verified: '13' |         compatibility-verified: '13' | ||||||
							
								
								
									
										124
									
								
								changelog.md
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								changelog.md
									
									
									
									
									
								
							| @@ -1,21 +1,55 @@ | |||||||
| # 13.0 | # 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 | ## 13.0.0 - Le début de l'errance d'Illysis | ||||||
|  |  | ||||||
| - Migration vers la version 13 de Foundry | - Migration vers la version 13 de Foundry | ||||||
|  |  | ||||||
| # 12.0 | # 12.0 | ||||||
|  |  | ||||||
| ## 12.0.50 - Le sommeil d'Astrobazzarh | ## 12.0.50 - Le sommeil d'Astrobazzarh | ||||||
|  |  | ||||||
| - Le don de double rêve n'interrompt plus le sommeil toutes les heures | - 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 | - la perte de fatigue à la descente des TMR est visible immédiatement | ||||||
|  |  | ||||||
| ## 12.0.49 - La deuxième lame d'Astrobazzarh | ## 12.0.49 - La deuxième lame d'Astrobazzarh | ||||||
|  |  | ||||||
| - Corrections | - Corrections | ||||||
|   - les défenses particulières sont correctement affichées |   - 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 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 |   - Les attaques à distance n'ont pas de difficulté libre | ||||||
|  |  | ||||||
| ## 12.0.48 - La chèvre d'Astrobazzarh | ## 12.0.48 - La chèvre d'Astrobazzarh | ||||||
|  |  | ||||||
| - le Bandersnatch a une protection de 10 | - le Bandersnatch a une protection de 10 | ||||||
| - la consistance chèvre est maintenant possible dans les recettes | - la consistance chèvre est maintenant possible dans les recettes | ||||||
|   alchimiques (et toutes les consistances avec accents) |   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 | - Correction: les réussites particulières fonctionnent avec les caractéristiques dérivées | ||||||
|  |  | ||||||
| ## 12.0.47 | ## 12.0.47 | ||||||
|  |  | ||||||
| - Correction sur les mise à jour en cascade - | - Correction sur les mise à jour en cascade - | ||||||
| - Correction sur le force rendering après un changement de competence | - Correction sur le force rendering après un changement de competence | ||||||
|  |  | ||||||
| ## 12.0.46 - Le double demi d'Astrobazzarh | ## 12.0.46 - Le double demi d'Astrobazzarh | ||||||
|  |  | ||||||
| - correction des raffraîchissement lors du sommeil qui empêchait de dormir | - correction des raffraîchissement lors du sommeil qui empêchait de dormir | ||||||
|   plusieurs heures |   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) | - 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) | - 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 | ## 12.0.41 - La loupe d'Astrobazzarh | ||||||
|  |  | ||||||
| - On peut de nouveau effectuer des tirages cachés | - On peut de nouveau effectuer des tirages cachés | ||||||
| - Le stress transformé est bien diminué lorsqu'on met le stress dans une compétence | - Le stress transformé est bien diminué lorsqu'on met le stress dans une compétence | ||||||
|  |  | ||||||
| ## 12.0.40 - Les mains d'Astrobazzarh | ## 12.0.40 - Les mains d'Astrobazzarh | ||||||
|  |  | ||||||
| - correction des attaques particulières en combat | - 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) | - 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 | ## 12.0.39 - Les mains d'Astrobazzarh | ||||||
|  |  | ||||||
| - les armes à 1 ou 2 mains fonctionnent dans les liens de jets de dés | - 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 | - commande `/jet` pour poster une demande de jet de dés | ||||||
|  |  | ||||||
| ## 12.0.38 - Les prévisions d'Astrobazzarh | ## 12.0.38 - Les prévisions d'Astrobazzarh | ||||||
|  |  | ||||||
| - Correction de modifications de personnages qui ne s'affichaient pas: | - Correction de modifications de personnages qui ne s'affichaient pas: | ||||||
|   - changements d'endurance/vie/fatigue, transformé, ... |   - changements d'endurance/vie/fatigue, transformé, ... | ||||||
| - Migration des compétences "Ecriture" en "Écriture" dans les tâches, livres, oeuvres et méditations | - 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 |   - utilisation de l'extension hbs pour tous les fichiers handlebars | ||||||
|  |  | ||||||
| ## 12.0.37 - Les enchantements d'Astrobazzarh | ## 12.0.37 - Les enchantements d'Astrobazzarh | ||||||
|  |  | ||||||
| - les potions ont un état, seules les potions liquides sont enchantables | - les potions ont un état, seules les potions liquides sont enchantables | ||||||
| - les lancements de sorts du jour sont conservés jusqu'à chateau dormant | - 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 | - 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 | - on peut enchanter des gemmes exactement comme des potions | ||||||
|  |  | ||||||
| ## 12.0.36 - L'alchimie d'Astrobazzarh | ## 12.0.36 - L'alchimie d'Astrobazzarh | ||||||
|  |  | ||||||
| - Nouveautés | - Nouveautés | ||||||
|   - ajout d'un bouton pour enchanter les potions |   - ajout d'un bouton pour enchanter les potions | ||||||
|   - standardisation des boutons d'actions sur les items |   - standardisation des boutons d'actions sur les items | ||||||
| @@ -95,9 +137,11 @@ | |||||||
|   - Corrections de descriptions pour proposer les jet de dés |   - Corrections de descriptions pour proposer les jet de dés | ||||||
|  |  | ||||||
| ## 12.0.35 - La Solution d'Astrobazzarh | ## 12.0.35 - La Solution d'Astrobazzarh | ||||||
|  |  | ||||||
| - Fix problème d'initialisation des feuilles d'items | - Fix problème d'initialisation des feuilles d'items | ||||||
|  |  | ||||||
| ## 12.0.34 - la tête d'Astrobazzarh | ## 12.0.34 - la tête d'Astrobazzarh | ||||||
|  |  | ||||||
| - support de liens "jets de dés" | - support de liens "jets de dés" | ||||||
|   - on peut ajouter des liens "jet de dés" dans les journaux, descriptions, notes, maladresses, ... |   - 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: |   - avec la syntaxe `@roll[...]` on peut ajouter le lien vers: | ||||||
| @@ -112,28 +156,35 @@ | |||||||
| - gestion des blocs secrets dans les descriptions | - gestion des blocs secrets dans les descriptions | ||||||
|  |  | ||||||
| ## 12.0.33 - la vieillesse d'Astrobazzarh | ## 12.0.33 - la vieillesse d'Astrobazzarh | ||||||
|  |  | ||||||
| - retour de l'expérience pour les joueurs | - retour de l'expérience pour les joueurs | ||||||
| - suppression du message "Pas de caractéristique" sur les jets d'odorat-goût | - suppression du message "Pas de caractéristique" sur les jets d'odorat-goût | ||||||
|  |  | ||||||
| ## 12.0.32 - les rêveries d'Astrobazzarh | ## 12.0.32 - les rêveries d'Astrobazzarh | ||||||
|  |  | ||||||
| - Ajout des Items Race pour gérer les ajustements liés aux races | - Ajout des Items Race pour gérer les ajustements liés aux races | ||||||
|  |  | ||||||
| ## 12.0.31 - le mausolée d'Astrobazzarh | ## 12.0.31 - le mausolée d'Astrobazzarh | ||||||
|  |  | ||||||
| - Correction: les automatisation de combat jouer-MJ fonctionnentde nouveau | - Correction: les automatisation de combat jouer-MJ fonctionnentde nouveau | ||||||
|  |  | ||||||
| ## 12.0.30 - le cauchemar d'Astrobazzarh | ## 12.0.30 - le cauchemar d'Astrobazzarh | ||||||
|  |  | ||||||
| - calcul automatique du niveau des entités selon leur rêve | - calcul automatique du niveau des entités selon leur rêve | ||||||
| - la description des créatures venimeuses contient un lien vers leur venin | - 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) | - Correction: les messages de combats ne marchaient plus (Changement combiné Foundry + rêve de Dragon) | ||||||
|  |  | ||||||
| ## 12.0.29 - L'indexation d'Astrobazzarh | ## 12.0.29 - L'indexation d'Astrobazzarh | ||||||
|  |  | ||||||
| - les liens dans la descriptions des sorts pointent vers les sorts du compendium | - 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 | - la description du chrasme contient le lien vers son venin plutôt qu'un tableau | ||||||
|  |  | ||||||
| ## 12.0.28 - Les réserves d'Astrobazzarh | ## 12.0.28 - Les réserves d'Astrobazzarh | ||||||
|  |  | ||||||
| - possibilité de mettre en réserve depuis un sort connu | - possibilité de mettre en réserve depuis un sort connu | ||||||
|  |  | ||||||
| ## 12.0.27 - Les vêtements d'Astrobazzarh | ## 12.0.27 - Les vêtements d'Astrobazzarh | ||||||
|  |  | ||||||
| - Ajout de la liste des armures dans l'onglet caractéristiques | - Ajout de la liste des armures dans l'onglet caractéristiques | ||||||
| - Ajout d'une option pour choisir une carte des TMR alternatives | - 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 | - 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 |   - les modèles de personnages non joueurs sont non-liés par défaut | ||||||
|  |  | ||||||
| ## 12.0.26 - Astrobazzarh le Haut-rêvant | ## 12.0.26 - Astrobazzarh le Haut-rêvant | ||||||
|  |  | ||||||
| - bouton pour le don de haut-rêve en un clic | - 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" | - les compétences de draconic ne sont plus précédées de "Voie de" | ||||||
|   - migration des compétences & compendiums |   - migration des compétences & compendiums | ||||||
| - Correction feuille simplifiée qui ne s'affichait pas en cas de sort variable | - Correction feuille simplifiée qui ne s'affichait pas en cas de sort variable | ||||||
|  |  | ||||||
| ## 12.0.24 - Les ajustements d'Astrobazzarh | ## 12.0.24 - Les ajustements d'Astrobazzarh | ||||||
|  |  | ||||||
| - amélioration | - amélioration | ||||||
|   - meilleure gestion des noms des voies de draconic |   - 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 |   - 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 |   - on peut maintenant saisir et supprimer les bonus de cases de manière intuitive | ||||||
|  |  | ||||||
| ## 12.0.23 - La bibliothèque d'Astrobazzarh | ## 12.0.23 - La bibliothèque d'Astrobazzarh | ||||||
|  |  | ||||||
| - corrections mineures | - corrections mineures | ||||||
|   - meilleure gestion de la parade des armes naturelles |   - meilleure gestion de la parade des armes naturelles | ||||||
|   - cas de "User lacks permission to update" pour les blessures et les StatusEffects |   - 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é. |   - 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 | ## 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 | - 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 | - Fix: le choix des effets dans les options s'affiche correctement | ||||||
|  |  | ||||||
| ## 12.0.20 - Le tableau d'Astrobazzarh | ## 12.0.20 - Le tableau d'Astrobazzarh | ||||||
|  |  | ||||||
| - Ecran d'accueil officiel Scriptarium | - Ecran d'accueil officiel Scriptarium | ||||||
|  |  | ||||||
| ## 12.0.19 - La témérité d'Astrobazzarh | ## 12.0.19 - La témérité d'Astrobazzarh | ||||||
|  |  | ||||||
| - Fix | - Fix | ||||||
|   - les défenses des créatures sont correctement filtrées |   - les défenses des créatures sont correctement filtrées | ||||||
|   - le lancer d'initiative pour tous les personnages/PNJs fonctionne correctement |   - le lancer d'initiative pour tous les personnages/PNJs fonctionne correctement | ||||||
|   - les lieux et commerces n'ont pas d'initiative |   - les lieux et commerces n'ont pas d'initiative | ||||||
|  |  | ||||||
| ## 12.0.18 - A la barbe d'Astrobazzarh | ## 12.0.18 - A la barbe d'Astrobazzarh | ||||||
|  |  | ||||||
| - Améliorations sur la feuille de PNJ simplifiée | - Améliorations sur la feuille de PNJ simplifiée | ||||||
|   - Ajout du portrait |   - Ajout du portrait | ||||||
|   - Ajout du corps à corps |   - Ajout du corps à corps | ||||||
| @@ -213,11 +271,13 @@ | |||||||
| - Ajout d'un indicateur pour les armes de parade nécessitant une significative | - Ajout d'un indicateur pour les armes de parade nécessitant une significative | ||||||
|  |  | ||||||
| ## 12.0.16 - Le secret d'Astrobazzarh | ## 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) | - 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 | - 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 | - Ajout d'une option pour la localisation des blessures | ||||||
|  |  | ||||||
| ## 12.0.15 - Le messager d'Astrobazzarh | ## 12.0.15 - Le messager d'Astrobazzarh | ||||||
|  |  | ||||||
| - Correction des faces de dés personalisés dice-so-nice | - Correction des faces de dés personalisés dice-so-nice | ||||||
| - Les messages de maladies ne sont plus publics | - Les messages de maladies ne sont plus publics | ||||||
| - Les messages privés dans les TMR sont aussi envoyés au GM | - 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) | - Amélioration du rendu des tables de compendiums (commande /table) | ||||||
|  |  | ||||||
| ## 12.0.14 - Les légions d'Astrobazzarh | ## 12.0.14 - Les légions d'Astrobazzarh | ||||||
|  |  | ||||||
| - Feuille de PNJ: | - Feuille de PNJ: | ||||||
|   - boutons standard (encaissement, ...) |   - boutons standard (encaissement, ...) | ||||||
|   - boutons pour ajuster les compteurs |   - boutons pour ajuster les compteurs | ||||||
| @@ -233,15 +294,18 @@ | |||||||
|   - gestion des armes |   - gestion des armes | ||||||
|  |  | ||||||
| ## 12.0.13 - La Chance d'Astrobazzarh | ## 12.0.13 - La Chance d'Astrobazzarh | ||||||
|  |  | ||||||
| - Fix: jets de caractéristiques | - Fix: jets de caractéristiques | ||||||
|  |  | ||||||
| ## 12.0.12 - L'étalage d'Astrobazzarh | ## 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 | - 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 | - Début de Feuille PNJ au format des encarts Scriptarium | ||||||
|   - support des jets de caractéristiques |   - support des jets de caractéristiques | ||||||
|   - support des jets de compétences |   - support des jets de compétences | ||||||
|  |  | ||||||
| ## 12.0.11 - Le scriptorium d'Astrobazzarh | ## 12.0.11 - Le scriptorium d'Astrobazzarh | ||||||
|  |  | ||||||
| - ajout d'un bouton pour générer les éléments de description d'un personnage | - 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 du logo en background dans la liste des systèmes Foundry | ||||||
| - ajout d'un champ pour le métier | - ajout d'un champ pour le métier | ||||||
| @@ -250,10 +314,12 @@ | |||||||
|   - export de l'esquive avec armure et sans armure |   - export de l'esquive avec armure et sans armure | ||||||
|  |  | ||||||
| ## 12.0.9 - 12.0.10 - Le scriptorium d'Astrobazzarh | ## 12.0.9 - 12.0.10 - Le scriptorium d'Astrobazzarh | ||||||
|  |  | ||||||
| - corrections de l'export scriptarium | - corrections de l'export scriptarium | ||||||
| - ajout d'une fonction avancée pour un exporter "scriptarium" des personnages | - ajout d'une fonction avancée pour un exporter "scriptarium" des personnages | ||||||
|  |  | ||||||
| ## 12.0.8 - La quincaillerie d'Astrobazzarh | ## 12.0.8 - La quincaillerie d'Astrobazzarh | ||||||
|  |  | ||||||
| - le propriétaire est indiqué dans les feuilles d'équipements/compétences/... | - le propriétaire est indiqué dans les feuilles d'équipements/compétences/... | ||||||
| - Ecaille d'efficacité | - Ecaille d'efficacité | ||||||
|   - l'écaille d'efficacité est prise en compte même si on n'utilise pas le ciblage en combat |   - 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 |   - le tooltip de l'initiative affiche correctement l'initiative | ||||||
|  |  | ||||||
| ## 12.0.7 - La propriété d'Astrobazzarh | ## 12.0.7 - La propriété d'Astrobazzarh | ||||||
|  |  | ||||||
| - correction des opérations faites à la création d'un Item: | - correction des opérations faites à la création d'un Item: | ||||||
|   - la durée des queues/rencontres/souffles |   - la durée des queues/rencontres/souffles | ||||||
|   - les effets draconiques d'un souffle/queue |   - les effets draconiques d'un souffle/queue | ||||||
| @@ -277,6 +344,7 @@ | |||||||
| - la commande /voyage affiche maintenant les compétences liées au terrain | - la commande /voyage affiche maintenant les compétences liées au terrain | ||||||
|  |  | ||||||
| ## 12.0.6 - Le bazar d'Astrobazzarh | ## 12.0.6 - Le bazar d'Astrobazzarh | ||||||
|  |  | ||||||
| - Corrections de l'inventaire en bazar: | - Corrections de l'inventaire en bazar: | ||||||
|   - un problème pouvait survenir en déplaçant les objets |   - un problème pouvait survenir en déplaçant les objets | ||||||
|     l'inventaire, qui fait qu'un conteneur se retrouve récursivement dans son |     l'inventaire, qui fait qu'un conteneur se retrouve récursivement dans son | ||||||
| @@ -291,22 +359,26 @@ | |||||||
| - Fix: restaurer la compatibilité Foundry 11 | - Fix: restaurer la compatibilité Foundry 11 | ||||||
|  |  | ||||||
| ## 12.0.5 - Les mauvais jours d'Astrobazzarh | ## 12.0.5 - Les mauvais jours d'Astrobazzarh | ||||||
|  |  | ||||||
| - Fix: on peut de nouveau ouvrir l'édition de calendrier | - Fix: on peut de nouveau ouvrir l'édition de calendrier | ||||||
| - Fix: on ne peut plus ouvrir plusieurs fenêtres de lancer de sort | - Fix: on ne peut plus ouvrir plusieurs fenêtres de lancer de sort | ||||||
| - Fix: Failed to execute 'getComputedStyle' on 'Window' | - Fix: Failed to execute 'getComputedStyle' on 'Window' | ||||||
|  |  | ||||||
| ## 12.0.4 - La plaie d'Astrobazzarh | ## 12.0.4 - La plaie d'Astrobazzarh | ||||||
|  |  | ||||||
| - **Support V12** | - **Support V12** | ||||||
|   - Fix: les boutons d'encaissement dans le tchat fonctionnent de nouveau |   - Fix: les boutons d'encaissement dans le tchat fonctionnent de nouveau | ||||||
|   - Fix warnings sur "Die" et AudioHelper |   - Fix warnings sur "Die" et AudioHelper | ||||||
|  |  | ||||||
| ## 12.0.3 - L'hémorragie d'Astrobazzarh | ## 12.0.3 - L'hémorragie d'Astrobazzarh | ||||||
|  |  | ||||||
| - **Support V12** | - **Support V12** | ||||||
|   - On peut de nouveau ouvrir un acteur blessé après redémarrage du monde |   - 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 |   - 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 |   - Le choix de ne plus afficher les demandes de suppression est bien pris en compte | ||||||
|  |  | ||||||
| ## 12.0.2 - Les pluies d'Astrobazzarh | ## 12.0.2 - Les pluies d'Astrobazzarh | ||||||
|  |  | ||||||
| - **Support V12** | - **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) |   - 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 |   - la fenêtre de calendrier s'ouvre correctement | ||||||
| @@ -321,13 +393,16 @@ | |||||||
|   - correction d'erreurs intempestives 'User ... lacks permission to update ...' |   - correction d'erreurs intempestives 'User ... lacks permission to update ...' | ||||||
|  |  | ||||||
| # 11.2 | # 11.2 | ||||||
|  |  | ||||||
| ## 11.2.21 - Le questionnement d'Akarlikarlikar | ## 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 | - 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 | - 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 | - Les effets s'appliquent correctement sur les créatures | ||||||
| - La date et l'heure (draconiques) sont affichées dans les messages du tchat | - La date et l'heure (draconiques) sont affichées dans les messages du tchat | ||||||
|  |  | ||||||
| ## 11.2.20 - Le soulagement d'Akarlikarlikar | ## 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 | - 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 | - 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 | - 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 | - 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 | ## 11.2.19 - Les hémorroïdes d'Akarlikarlikar | ||||||
|  |  | ||||||
| - La validation des jets d'encaissement par le Gardien fonctionne de nouveau | - La validation des jets d'encaissement par le Gardien fonctionne de nouveau | ||||||
|  |  | ||||||
| ## 11.2.18 - Le bourrichon d'Akarlikarlikar | ## 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 | - 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 | ## 11.2.17 - Le cache-oeil d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Le titre des fenêtre d'objet affiche de nouveau le type traduit | - Le titre des fenêtre d'objet affiche de nouveau le type traduit | ||||||
| - Les tooltips des boutons edit/delete sont maintenant en Français | - Les tooltips des boutons edit/delete sont maintenant en Français | ||||||
| - La case à cocher "Cacher les points de tâches" fonctionne de nouveau | - 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. | - La fenêtre des TMRs ne devrait plus afficher une zone noire au lieu de la carte. | ||||||
|  |  | ||||||
| ## 11.2.16 - Le Tri d'Akarlikarlikar | ## 11.2.16 - Le Tri d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Tri alphabétique des items dans la fenêtre de création | - Tri alphabétique des items dans la fenêtre de création | ||||||
| - Mise à jour comptage de monde | - Mise à jour comptage de monde | ||||||
|  |  | ||||||
| ## 11.2.15 - La Table d'Akarlikarlikar | ## 11.2.15 - La Table d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Tirage automatique de la foce d'une rencontre (via la commande /tmrr) | - 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) | - Ajout de boutons pour ajouter des blessures "complètes" (ie avec perte d'endurance/vie) | ||||||
|  |  | ||||||
| ## 11.2.14 - Les petits pas d'Akarlikarlikar | ## 11.2.14 - Les petits pas d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Correction sur la gestion de la surprise | - Correction sur la gestion de la surprise | ||||||
| - Ordre des messages sur les cases humides | - Ordre des messages sur les cases humides | ||||||
|  |  | ||||||
| ## 11.2.13 - Les cent pas d'Akarlikarlikar | ## 11.2.13 - Les cent pas d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Ajout de la commande /voyage pour gérer la fatigue de marche des voyageurs | - Ajout de la commande /voyage pour gérer la fatigue de marche des voyageurs | ||||||
|  |  | ||||||
| ## 11.2.12 - Le somnifère  d'Akarlikarlikar | ## 11.2.12 - Le somnifère  d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Fix: les potions enchantées n'empêchent plus de finir correctement Château Dormant | - Fix: les potions enchantées n'empêchent plus de finir correctement Château Dormant | ||||||
|  |  | ||||||
| ## 11.2.11 - Le miroir d'Akarlikarlikar | ## 11.2.11 - Le miroir d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Changement des images de compétence de créatures morsure/pinces pour être dans le thème | - 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 | - 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 | - Fix: le refoulement ajoute correctement un souffle et revient à 0 en cas d'échec | ||||||
|  |  | ||||||
| ## 11.2.10 - Les expériences d'Akarlikarlikar | ## 11.2.10 - Les expériences d'Akarlikarlikar | ||||||
|  |  | ||||||
| - En cas d'expérience des caractéristiques dérivées, | - 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 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 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 | - 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 | ## 11.2.9 - La barbe d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Amélioration des textes de tooltips | - Amélioration des textes de tooltips | ||||||
| - Les tooltips sont plus dans le thème de couleur du système Rêve de Dragon | - 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) | - 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 | - 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 | ## 11.2.8 - L'éclairage d'Akarlikarlikar | ||||||
|  |  | ||||||
| - l'ajustement de la lumière jour/nuit s'étale sur moins de temps (vaisseau et Lyre) | - 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 nouveaux tooltips ne masquent plus l'information d'expérience | ||||||
| - les jets de dés pour maîtriser les rencontres fonctionnent de nouveau | - les jets de dés pour maîtriser les rencontres fonctionnent de nouveau | ||||||
|  |  | ||||||
| ## 11.2.7 - Les explications d'Akarlikarlikar | ## 11.2.7 - Les explications d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Ajout de tooltips sur la plupart des boutons, liens clickables, objets, tâches, ... | - 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 | - Fix: on peut de nouveau regarder l'inventaire avec les droits limités/observateur | ||||||
|  |  | ||||||
| ## 11.2.6 - Les réveils difficiles d'Akarlikarlikar | ## 11.2.6 - Les réveils difficiles d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Les changements de points de Cœur sont temporaires jusqu'à fin Château Dormant | - 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, ...) | - 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 | ## 11.2.2 - Les tendres moments d'Akarlikarlikar | ||||||
|  |  | ||||||
| - On peut maintenant avoir des points de Cœur pour des suivants/compagnons | - On peut maintenant avoir des points de Cœur pour des suivants/compagnons | ||||||
|   - diminuer les points de coeurs fait perdre du moral |   - diminuer les points de coeurs fait perdre du moral | ||||||
|   - on peut proposer un tendre moment |   - on peut proposer un tendre moment | ||||||
| @@ -422,11 +512,14 @@ | |||||||
|     ne bloquent plus les jets de dés |     ne bloquent plus les jets de dés | ||||||
|  |  | ||||||
| ## v11.2.1 - La technique d'Akarlikarlikar | ## 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". | - 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 | - 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 | Vu qu'elles ne peuvent pas être utilisées, permet de savoir pourquoi | ||||||
|  |  | ||||||
| ## v11.2.0 - Les Terres médianes d'Akarlikarlikar | ## v11.2.0 - Les Terres médianes d'Akarlikarlikar | ||||||
|  |  | ||||||
| - Les TMRs sont redimensionables | - Les TMRs sont redimensionables | ||||||
| - Nouveaux graphismes plus lisibles dans les TMRs | - Nouveaux graphismes plus lisibles dans les TMRs | ||||||
| - Nouveau code couleur des icônes dans les TMR: | - 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 | - 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 | ||||||
|  |  | ||||||
| ## v11.1.6 - Les dissections de Werther de Zloth | ## v11.1.6 - Les dissections de Werther de Zloth | ||||||
|  |  | ||||||
| - Fix: on peut de nouveau donner des compétences aux créatures | - 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: 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 | - Fix: l'encaissement à valider par le MJ fonctionne de nouveau | ||||||
|  |  | ||||||
| ## v11.1.5 - Werther de Zloth l'Onirique | ## v11.1.5 - Werther de Zloth l'Onirique | ||||||
|  |  | ||||||
| - Fixes: | - Fixes: | ||||||
|   - la demande de défense ne marchait plus |   - la demande de défense ne marchait plus | ||||||
|   - la tête réserve extensible crée bien une case de réserve extensible (à modifier) |   - 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 |   - pas de jets de vie pour les morts | ||||||
|  |  | ||||||
| ## v11.1.4 - Werther de Zloth l'Onirique | ## 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é | - 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: 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 | - 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 | - Esthétique: ne pas afficher "+0" pour les ajustements de jets/encaissement | ||||||
|  |  | ||||||
| ## v11.1.2 - Les vertèbres de Werther de Zloth | ## v11.1.2 - Les vertèbres de Werther de Zloth | ||||||
|  |  | ||||||
| - Fix: les jets d'encaissement fonctionnent de nouveau normalement | - 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 | - 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 | ## v11.1.1 - Les fumebols de Werther de Zloth | ||||||
|  |  | ||||||
| - Fix: on peut de nouveau afficher les vues détaillées | - 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: 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 | - Fix: cuisiner du gibier prend maintenant bien les proportaions en compte | ||||||
|  |  | ||||||
| ## v11.1.0 - Les choix de Werther de Zloth | ## v11.1.0 - Les choix de Werther de Zloth | ||||||
|  |  | ||||||
| - Les options suivantes peuvent être désactivées: | - Les options suivantes peuvent être désactivées: | ||||||
|   - La transformation de stress à Château Dormant |   - La transformation de stress à Château Dormant | ||||||
|   - La récuperation de chance à 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) |   - en cas de charge, les particulières sont toujours en force (p125) | ||||||
|  |  | ||||||
| # v11.0 | # v11.0 | ||||||
|  |  | ||||||
| ## v11.0.28 - les fractures de Khrachtchoum | ## v11.0.28 - les fractures de Khrachtchoum | ||||||
|  |  | ||||||
| - La gravité de la blessure est affichée dans le résumé de l'encaissement | - La gravité de la blessure est affichée dans le résumé de l'encaissement | ||||||
| - Lors du changement d'acteur pendant le round | - 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é |   - 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 |   - le moral est indiqué avant l'icone d'appel au moral | ||||||
|  |  | ||||||
| ## v11.0.27 - Khrachtchoum le méticuleux | ## v11.0.27 - Khrachtchoum le méticuleux | ||||||
|  |  | ||||||
| - le tooltip dans les TMR reste visible si on ne bouge pas la souris | - le tooltip dans les TMR reste visible si on ne bouge pas la souris | ||||||
| - le surencombrement n'affecte QUE les actions physiques | - le surencombrement n'affecte QUE les actions physiques | ||||||
| - on peut de nouveau fabriquer une potion depuis la fenêtre d'édition de l'herbe | - 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 | - 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 | ## v11.0.26 - le crépuscule de Khrachtchoum | ||||||
|  |  | ||||||
| - gestion correcte des TMRs | - 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 |   - 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 |   - 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 | - les jets de compétences d'attaque des créatures fonctionnent de nouveau | ||||||
|  |  | ||||||
| ## v11.0.25 - la vision du rêve de Khrachtchoum | ## 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 | - Les TMRs restent affichées tant que le Haut-rêvant est en demi-rêve | ||||||
|  |  | ||||||
| ## v11.0.24 - les couleurs de Khrachtchoum | ## v11.0.24 - les couleurs de Khrachtchoum | ||||||
|  |  | ||||||
| - nouvelle carte des TMRs | - nouvelle carte des TMRs | ||||||
|  |  | ||||||
| ## v11.0.23 - la lumière de Khrachtchoum | ## v11.0.23 - la lumière de Khrachtchoum | ||||||
|  |  | ||||||
| - ajustement automatique de la luminosité selon l'heure pour les scènes: | - 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 une vision des tokens (sinon: ce n'est pas une scène de carte pour tokens) | ||||||
|    - avec illumination globale (correspondant à une illumination extérieure) |   - avec illumination globale (correspondant à une illumination extérieure) | ||||||
|    - quand lampe "allumée" dans la fenêtre du calendrier |   - quand lampe "allumée" dans la fenêtre du calendrier | ||||||
|  |  | ||||||
| ## v11.0.22 - les automatismes de Khrachtchoum le Problémeux | ## v11.0.22 - les automatismes de Khrachtchoum le Problémeux | ||||||
|  |  | ||||||
| - Macro pour attaquer avec les compétences de créatures | - Macro pour attaquer avec les compétences de créatures | ||||||
|  |  | ||||||
| ## v11.0.20 | ## v11.0.20 | ||||||
|  |  | ||||||
| - Macro pour attaquer avec les armes des personnages | - Macro pour attaquer avec les armes des personnages | ||||||
|  |  | ||||||
| ## v11.0.17 | ## v11.0.17 | ||||||
|  |  | ||||||
| - Fix: les actions de commerce ne s'appliquait pas bien aux personnages des tokens non liés | - Fix: les actions de commerce ne s'appliquait pas bien aux personnages des tokens non liés | ||||||
|  |  | ||||||
| ## v11.0.15 - L'apprentissage de Khrachtchoum | ## 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) | - 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 | ## v11.0.14 - Les pincettes de Khrachtchoum le Problémeux | ||||||
|  |  | ||||||
| - Correction du calcul de la place restante lors de l'ajout dans un conteneur | - 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 | ## 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 | - 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 | ## v11.0.12 - Les poids de la mesure de Khrachtchoum le Problémeux | ||||||
|  |  | ||||||
| - Correction des malus de surencombrement | - Correction des malus de surencombrement | ||||||
| - Le malus armure est correctement affiché dans l'onglet des caractéristiques | - Le malus armure est correctement affiché dans l'onglet des caractéristiques | ||||||
| - Correction d'orthographe et amélioration des messages des oeuvres d'art | - Correction d'orthographe et amélioration des messages des oeuvres d'art | ||||||
|  |  | ||||||
| ## v11.0.11 - Les bleus de Khrachtchoum le Problémeux | ## 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 | - 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. | - 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 | ## 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 | - 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 | - 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 |   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 |   les heures dormies sont déduites des heures restant à dormir | ||||||
|  |  | ||||||
| ## v11.0.9 - Les Souvenirs de Khrachtchoum le Problémeux | ## v11.0.9 - Les Souvenirs de Khrachtchoum le Problémeux | ||||||
|  |  | ||||||
| - mode de saisie de l'archétype en vue détaillée | - mode de saisie de l'archétype en vue détaillée | ||||||
| - création  une nouvelle incarnation depuis l'archétype | - création  une nouvelle incarnation depuis l'archétype | ||||||
| - réorganisation de la fenêtre de sélection des règles optionnelles | - 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 | - correction de l'affichage du type dans les fenêtres d'objets | ||||||
|  |  | ||||||
| ## v11.0.8 - la poigne de Sémolosse | ## v11.0.8 - la poigne de Sémolosse | ||||||
|  |  | ||||||
| - lien vers le changelog | - lien vers le changelog | ||||||
| - organisation des compendiums du système | - organisation des compendiums du système | ||||||
| - correction de l'empoignade | - correction de l'empoignade | ||||||
|   | |||||||
| @@ -721,6 +721,7 @@ select, | |||||||
|   margin: 0; |   margin: 0; | ||||||
|   justify-content: center; |   justify-content: center; | ||||||
|   text-align: left; |   text-align: left; | ||||||
|  |   display: ruby; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .equipement-valeur { | .system-foundryvtt-reve-de-dragon .equipement-valeur { | ||||||
|   margin: 0; |   margin: 0; | ||||||
| @@ -740,6 +741,8 @@ select, | |||||||
|   align-items: center; |   align-items: center; | ||||||
|   justify-content: center; |   justify-content: center; | ||||||
|   text-align: center; |   text-align: center; | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: row; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .equipement-button { | .system-foundryvtt-reve-de-dragon .equipement-button { | ||||||
|   margin: 0; |   margin: 0; | ||||||
| @@ -871,13 +874,40 @@ select, | |||||||
|   padding: 0.2em; |   padding: 0.2em; | ||||||
|   border-width: 0; |   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-height: 32px; | ||||||
|   max-width: 32px; |   max-width: 32px; | ||||||
|   border: 0; |   border: 0; | ||||||
|   vertical-align: bottom; |   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); |   color: var(--color-controls-hover); | ||||||
|   border: 1px solid var(--color-control-border-hover); |   border: 1px solid var(--color-control-border-hover); | ||||||
|   text-shadow: 1px 0px 0px #ff6600; |   text-shadow: 1px 0px 0px #ff6600; | ||||||
| @@ -982,13 +1012,13 @@ select, | |||||||
|   margin-inline: 0.1rem; |   margin-inline: 0.1rem; | ||||||
|   margin-block: 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; |   font-family: CaslonAntique; | ||||||
|   text-align: justify; |   text-align: justify; | ||||||
|   font-size: 1rem; |   font-size: 1rem; | ||||||
|   letter-spacing: 1px; |   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; |   clear: both; | ||||||
|   display: flex; |   display: flex; | ||||||
|   flex-direction: row; |   flex-direction: row; | ||||||
| @@ -996,14 +1026,15 @@ select, | |||||||
|   margin: 0.1rem 0; |   margin: 0.1rem 0; | ||||||
|   align-items: center; |   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; |   height: fit-content; | ||||||
|   min-height: 5rem; |   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; |   min-height: 5rem; | ||||||
|   height: fit-content; |   height: 8rem; | ||||||
|   margin: 0; |   margin: 0; | ||||||
|  |   flex: none; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .large-editor { | .system-foundryvtt-reve-de-dragon .large-editor { | ||||||
|   border: 2; |   border: 2; | ||||||
| @@ -1157,7 +1188,7 @@ select, | |||||||
|   padding: 5px; |   padding: 5px; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .poesie-extrait { | .system-foundryvtt-reve-de-dragon .poesie-extrait { | ||||||
|   font-size: 0.9rem; |   font-size: 0.8rem; | ||||||
|   font-style: italic; |   font-style: italic; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .poesie-reference { | .system-foundryvtt-reve-de-dragon .poesie-reference { | ||||||
| @@ -1291,8 +1322,7 @@ select, | |||||||
|   white-space: nowrap; |   white-space: nowrap; | ||||||
|   word-break: break-all; |   word-break: break-all; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon span.content-link, | .system-foundryvtt-reve-de-dragon .content-link { | ||||||
| .system-foundryvtt-reve-de-dragon a.content-link { |  | ||||||
|   background: hsla(45, 100%, 80%, 0.2); |   background: hsla(45, 100%, 80%, 0.2); | ||||||
|   color: hsla(300, 70%, 20%, 0.8); |   color: hsla(300, 70%, 20%, 0.8); | ||||||
|   font-weight: 560; |   font-weight: 560; | ||||||
| @@ -1301,6 +1331,7 @@ select, | |||||||
|   border-radius: 0.25rem; |   border-radius: 0.25rem; | ||||||
|   white-space: nowrap; |   white-space: nowrap; | ||||||
|   word-break: break-all; |   word-break: break-all; | ||||||
|  |   display: ruby; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon a.roll-text i.fas { | .system-foundryvtt-reve-de-dragon a.roll-text i.fas { | ||||||
|   color: var(--color-text-dark-inactive); |   color: var(--color-text-dark-inactive); | ||||||
| @@ -1537,6 +1568,8 @@ select, | |||||||
| .system-foundryvtt-reve-de-dragon .list-item-label, | .system-foundryvtt-reve-de-dragon .list-item-label, | ||||||
| .system-foundryvtt-reve-de-dragon .list-title-label { | .system-foundryvtt-reve-de-dragon .list-title-label { | ||||||
|   flex-grow: 2; |   flex-grow: 2; | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: row; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .attribut-value, | .system-foundryvtt-reve-de-dragon .attribut-value, | ||||||
| .system-foundryvtt-reve-de-dragon .carac-value { | .system-foundryvtt-reve-de-dragon .carac-value { | ||||||
| @@ -1588,9 +1621,13 @@ select, | |||||||
| .system-foundryvtt-reve-de-dragon table.table-nombres-astraux th > td { | .system-foundryvtt-reve-de-dragon table.table-nombres-astraux th > td { | ||||||
|   font-size: 1rem; |   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; |   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) { | .system-foundryvtt-reve-de-dragon table.table-nombres-astraux :is(tr, th, td) { | ||||||
|   border-style: solid; |   border-style: solid; | ||||||
|   border-width: 1px; |   border-width: 1px; | ||||||
| @@ -1736,9 +1773,11 @@ select, | |||||||
|   background: rgba(0, 0, 0, 0.05); |   background: rgba(0, 0, 0, 0.05); | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .chat-message { | .system-foundryvtt-reve-de-dragon .chat-message h4 { | ||||||
|   background: rgba(220, 220, 210, 0.5); |   font-size: 0.9rem; | ||||||
|   font-size: 1rem; | } | ||||||
|  | .system-foundryvtt-reve-de-dragon .chat-message .message-content { | ||||||
|  |   text-align: justify; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .chat-message header.message-header .heure-rdd { | .system-foundryvtt-reve-de-dragon .chat-message header.message-header .heure-rdd { | ||||||
|   font-size: 0.7rem; |   font-size: 0.7rem; | ||||||
| @@ -1748,6 +1787,9 @@ select, | |||||||
|   background: rgba(220, 220, 210, 0.75); |   background: rgba(220, 220, 210, 0.75); | ||||||
|   border: 2px solid #545469; |   border: 2px solid #545469; | ||||||
| } | } | ||||||
|  | .system-foundryvtt-reve-de-dragon .chat-message hr { | ||||||
|  |   margin: 0.2rem 0; | ||||||
|  | } | ||||||
| .system-foundryvtt-reve-de-dragon .chat-icon { | .system-foundryvtt-reve-de-dragon .chat-icon { | ||||||
|   border: 0; |   border: 0; | ||||||
|   padding: 2px 6px 2px 2px; |   padding: 2px 6px 2px 2px; | ||||||
| @@ -2160,8 +2202,6 @@ select, | |||||||
|   display: grid; |   display: grid; | ||||||
|   background: hsl(0, 0%, 20%); |   background: hsl(0, 0%, 20%); | ||||||
|   color: hsla(0, 0%, 80%, 0.8); |   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 { | .system-foundryvtt-reve-de-dragon .calendar-boutons-heure .calendar-btn:is(.calendar-lyre,.calendar-vaisseau) img { | ||||||
|   color: hsla(0, 0%, 100%, 0.5); |   color: hsla(0, 0%, 100%, 0.5); | ||||||
| @@ -2174,40 +2214,38 @@ select, | |||||||
| .system-foundryvtt-reve-de-dragon .calendar-boutons-heure i { | .system-foundryvtt-reve-de-dragon .calendar-boutons-heure i { | ||||||
|   border: 1px solid rgba(0, 0, 0, 0); |   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); |   color: var(--color-controls-hover); | ||||||
|   border: 1px solid var(--color-control-border-hover); |   border: 1px solid var(--color-control-border-hover); | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-1min { | .system-foundryvtt-reve-de-dragon .calendar-1min { | ||||||
|   grid-column: 1; |   grid-column: 1/1; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-5min { | .system-foundryvtt-reve-de-dragon .calendar-5min { | ||||||
|   grid-column: 2; |   grid-column: 2/2; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-15min { | .system-foundryvtt-reve-de-dragon .calendar-15min { | ||||||
|   grid-column: 3; |   grid-column: 3/3; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-30min { | .system-foundryvtt-reve-de-dragon .calendar-30min { | ||||||
|   grid-column: 4; |   grid-column: 4/4; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-60min { | .system-foundryvtt-reve-de-dragon .calendar-60min { | ||||||
|   grid-column: 5; |   grid-column: 5/5; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-1heure { | .system-foundryvtt-reve-de-dragon .calendar-1heure { | ||||||
|   grid-column: 6; |   grid-column: 6/6; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-lyre { | .system-foundryvtt-reve-de-dragon .calendar-lyre { | ||||||
|   grid-column: 7; |   grid-column: 7/8; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-vaisseau { | .system-foundryvtt-reve-de-dragon .calendar-vaisseau { | ||||||
|   grid-column: 8; |   grid-column: 9/10; | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-set-datetime { | .system-foundryvtt-reve-de-dragon :is(.calendar-lyre,.calendar-vaisseau) { | ||||||
|   grid-column: 9; |   display: flex; | ||||||
| } |   flex-direction: row; | ||||||
| .system-foundryvtt-reve-de-dragon .calendar-astrologie { |  | ||||||
|   grid-column: 10; |  | ||||||
| } | } | ||||||
| .system-foundryvtt-reve-de-dragon div.horloge-analogique { | .system-foundryvtt-reve-de-dragon div.horloge-analogique { | ||||||
|   border: none; |   border: none; | ||||||
|   | |||||||
| @@ -356,6 +356,7 @@ | |||||||
|     margin: 0; |     margin: 0; | ||||||
|     justify-content: center; |     justify-content: center; | ||||||
|     text-align: left; |     text-align: left; | ||||||
|  |     display: ruby; | ||||||
|   } |   } | ||||||
|   .equipement-valeur { |   .equipement-valeur { | ||||||
|     margin: 0; |     margin: 0; | ||||||
| @@ -375,6 +376,8 @@ | |||||||
|     align-items: center; |     align-items: center; | ||||||
|     justify-content: center; |     justify-content: center; | ||||||
|     text-align: center; |     text-align: center; | ||||||
|  |     display: flex; | ||||||
|  |     flex-direction: row; | ||||||
|   } |   } | ||||||
|   .equipement-button { |   .equipement-button { | ||||||
|     margin: 0; |     margin: 0; | ||||||
| @@ -512,13 +515,21 @@ | |||||||
|     padding: 0.2em; |     padding: 0.2em; | ||||||
|     border-width: 0; |     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-height: 32px; | ||||||
|     max-width: 32px; |     max-width: 32px; | ||||||
|     border: 0; |     border: 0; | ||||||
|     vertical-align: bottom; |     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); |     color: var(--color-controls-hover); | ||||||
|     border: 1px solid var(--color-control-border-hover); |     border: 1px solid var(--color-control-border-hover); | ||||||
|     text-shadow: 1px 0px 0px #ff6600; |     text-shadow: 1px 0px 0px #ff6600; | ||||||
| @@ -624,13 +635,13 @@ | |||||||
|     margin-inline: 0.1rem; |     margin-inline: 0.1rem; | ||||||
|     margin-block: 0.1rem; |     margin-block: 0.1rem; | ||||||
|   } |   } | ||||||
|   form.application.sheet.fvtt-rdd fieldset :is(label, input) { |   .app.sheet fieldset :is(label, input) { | ||||||
|     font-family: CaslonAntique; |     font-family: CaslonAntique; | ||||||
|     text-align: justify; |     text-align: justify; | ||||||
|     font-size: 1rem; |     font-size: 1rem; | ||||||
|     letter-spacing: 1px; |     letter-spacing: 1px; | ||||||
|   } |   } | ||||||
|   form.application.sheet.fvtt-rdd div.form-group { |   .app.sheet div.form-group { | ||||||
|     clear: both; |     clear: both; | ||||||
|     display: flex; |     display: flex; | ||||||
|     flex-direction: row; |     flex-direction: row; | ||||||
| @@ -638,15 +649,17 @@ | |||||||
|     margin: 0.1rem 0; |     margin: 0.1rem 0; | ||||||
|     align-items: center; |     align-items: center; | ||||||
|   } |   } | ||||||
|   form.application.sheet.fvtt-rdd .editor.prosemirror { |   .app.sheet .editor.prosemirror { | ||||||
|     height: fit-content; |     height: fit-content; | ||||||
|     min-height: 5rem; |     min-height: 5rem; | ||||||
|   } |   } | ||||||
|   form.application.sheet.fvtt-rdd prose-mirror.prosemirror .editor-container { |   .app.sheet .editor.prosemirror .editor-container { | ||||||
|     min-height: 5rem; |     min-height: 5rem; | ||||||
|     height: fit-content; |     height: 8rem; | ||||||
|     margin: 0; |     margin: 0; | ||||||
|  |     flex: none; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   .large-editor { |   .large-editor { | ||||||
|     border: 2; |     border: 2; | ||||||
|     height: fit-content; |     height: fit-content; | ||||||
| @@ -813,7 +826,7 @@ | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   .poesie-extrait { |   .poesie-extrait { | ||||||
|     font-size: 0.9rem; |     font-size: 0.8rem; | ||||||
|     font-style: italic; |     font-style: italic; | ||||||
|   } |   } | ||||||
|   .poesie-reference{ |   .poesie-reference{ | ||||||
| @@ -962,8 +975,7 @@ | |||||||
|     word-break: break-all; |     word-break: break-all; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   span.content-link, |   .content-link { | ||||||
|   a.content-link { |  | ||||||
|     background: hsla(45, 100%, 80%, 0.2); |     background: hsla(45, 100%, 80%, 0.2); | ||||||
|     color: hsla(300, 70%, 20%, 0.8); |     color: hsla(300, 70%, 20%, 0.8); | ||||||
|     font-weight: 560; |     font-weight: 560; | ||||||
| @@ -972,6 +984,7 @@ | |||||||
|     border-radius: 0.25rem; |     border-radius: 0.25rem; | ||||||
|     white-space: nowrap; |     white-space: nowrap; | ||||||
|     word-break: break-all; |     word-break: break-all; | ||||||
|  |     display: ruby; | ||||||
|   } |   } | ||||||
|   a.roll-text i.fas{ |   a.roll-text i.fas{ | ||||||
|     color: var(--color-text-dark-inactive); |     color: var(--color-text-dark-inactive); | ||||||
| @@ -1222,6 +1235,8 @@ | |||||||
|   .list-item-label, |   .list-item-label, | ||||||
|   .list-title-label { |   .list-title-label { | ||||||
|     flex-grow: 2; |     flex-grow: 2; | ||||||
|  |     display: flex; | ||||||
|  |     flex-direction: row; | ||||||
|   } |   } | ||||||
|   .attribut-value, |   .attribut-value, | ||||||
|   .carac-value { |   .carac-value { | ||||||
| @@ -1275,9 +1290,13 @@ | |||||||
|   table.table-nombres-astraux th >td { |   table.table-nombres-astraux th >td { | ||||||
|     font-size: 1rem; |     font-size: 1rem; | ||||||
|   } |   } | ||||||
|   table.table-nombres-astraux tr >td { |   table.table-nombres-astraux tr td { | ||||||
|     font-size: 0.8rem; |     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) { |   table.table-nombres-astraux :is(tr, th, td) { | ||||||
|     border-style: solid; |     border-style: solid; | ||||||
|     border-width: 1px; |     border-width: 1px; | ||||||
| @@ -1449,11 +1468,13 @@ | |||||||
|     cursor: pointer; |     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 { |   .chat-message header.message-header .heure-rdd { | ||||||
|     font-size: 0.7rem; |     font-size: 0.7rem; | ||||||
|     flex-grow: 3; |     flex-grow: 3; | ||||||
| @@ -1463,6 +1484,11 @@ | |||||||
|     background: rgba(220,220,210,0.75); |     background: rgba(220,220,210,0.75); | ||||||
|     border: 2px solid #545469; |     border: 2px solid #545469; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   .chat-message hr { | ||||||
|  |     margin: 0.2rem 0; | ||||||
|  |   } | ||||||
|  |  | ||||||
|   .chat-icon { |   .chat-icon { | ||||||
|     border: 0; |     border: 0; | ||||||
|     padding: 2px 6px 2px 2px; |     padding: 2px 6px 2px 2px; | ||||||
| @@ -1755,9 +1781,6 @@ | |||||||
|     display: grid; |     display: grid; | ||||||
|     background: hsla(0, 0%, 20%, 1); |     background: hsla(0, 0%, 20%, 1); | ||||||
|     color: hsla(0, 0%, 80%, 0.8); |     color: hsla(0, 0%, 80%, 0.8); | ||||||
|  |  | ||||||
|     grid-row: 1; |  | ||||||
|     grid-column: 10; |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   .calendar-boutons-heure .calendar-btn:is(.calendar-lyre,.calendar-vaisseau) img { |   .calendar-boutons-heure .calendar-btn:is(.calendar-lyre,.calendar-vaisseau) img { | ||||||
| @@ -1772,23 +1795,24 @@ | |||||||
|   .calendar-boutons-heure i { |   .calendar-boutons-heure i { | ||||||
|     border: 1px solid rgba(0, 0, 0, 0); |     border: 1px solid rgba(0, 0, 0, 0); | ||||||
|   } |   } | ||||||
|   .calendar-boutons-heure i:hover { |   .calendar-boutons-heure a:hover { | ||||||
|     color: var(--color-controls-hover); |     color: var(--color-controls-hover); | ||||||
|     border: 1px solid var(--color-control-border-hover); |     border: 1px solid var(--color-control-border-hover); | ||||||
|     cursor: pointer; |     cursor: pointer; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   .calendar-1min     { grid-column: 1;} |   .calendar-1min     { grid-column: 1/1; } | ||||||
|   .calendar-5min     { grid-column: 2;} |   .calendar-5min     { grid-column: 2/2; } | ||||||
|   .calendar-15min    { grid-column: 3;} |   .calendar-15min    { grid-column: 3/3; } | ||||||
|   .calendar-30min    { grid-column: 4;} |   .calendar-30min    { grid-column: 4/4; } | ||||||
|   .calendar-60min    { grid-column: 5;} |   .calendar-60min    { grid-column: 5/5; } | ||||||
|   .calendar-1heure   { grid-column: 6;} |   .calendar-1heure   { grid-column: 6/6; } | ||||||
|   .calendar-lyre     { grid-column: 7;} |   .calendar-lyre     { grid-column: 7/8; } | ||||||
|   .calendar-vaisseau { grid-column: 8;} |   .calendar-vaisseau { grid-column: 9/10; } | ||||||
|   .calendar-set-datetime { grid-column: 9;} |   :is(.calendar-lyre,.calendar-vaisseau) { | ||||||
|   .calendar-astrologie   { grid-column: 10;} |     display: flex; | ||||||
|  |     flex-direction: row; | ||||||
|  |   } | ||||||
|   div.horloge-analogique { |   div.horloge-analogique { | ||||||
|     border: none; |     border: none; | ||||||
|     margin: 0; |     margin: 0; | ||||||
|   | |||||||
| @@ -341,6 +341,9 @@ export class RdDBaseActorReve extends RdDBaseActor { | |||||||
|     const selectedCaracName = ['apparence', 'perception', 'force', 'reve'].find(it => carac[it] != undefined) |     const selectedCaracName = ['apparence', 'perception', 'force', 'reve'].find(it => carac[it] != undefined) | ||||||
|  |  | ||||||
|     await this.openRollDialog({ |     await this.openRollDialog({ | ||||||
|  |       name: 'jet-quelconque', | ||||||
|  |       label: 'Jet', | ||||||
|  |       template: 'systems/foundryvtt-reve-de-dragon/templates/dialog-roll.hbs', | ||||||
|       rollData: { |       rollData: { | ||||||
|         alias: this.getAlias(), |         alias: this.getAlias(), | ||||||
|         carac: carac, |         carac: carac, | ||||||
|   | |||||||
| @@ -213,6 +213,7 @@ export class RdDBaseActor extends Actor { | |||||||
|   isCreatureEntite() { return this.isCreature() || this.isEntite() } |   isCreatureEntite() { return this.isCreature() || this.isEntite() } | ||||||
|   isCreature() { return false } |   isCreature() { return false } | ||||||
|   isEntite(typeentite = []) { return false } |   isEntite(typeentite = []) { return false } | ||||||
|  |   isHautRevant() { return false } | ||||||
|   isVehicule() { return false } |   isVehicule() { return false } | ||||||
|   isPersonnage() { return false } |   isPersonnage() { return false } | ||||||
|   getItem(id, type = undefined) { |   getItem(id, type = undefined) { | ||||||
|   | |||||||
| @@ -1,6 +1,4 @@ | |||||||
| import { DialogItemAchat } from "../achat-vente/dialog-item-achat.js"; |  | ||||||
| import { RdDItem } from "../item.js"; | import { RdDItem } from "../item.js"; | ||||||
| import { RdDUtility } from "../rdd-utility.js"; |  | ||||||
| import { RdDBaseActorSheet } from "./base-actor-sheet.js"; | import { RdDBaseActorSheet } from "./base-actor-sheet.js"; | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @@ -44,13 +42,8 @@ export class RdDCommerceSheet extends RdDBaseActorSheet { | |||||||
|   activateListeners(html) { |   activateListeners(html) { | ||||||
|     super.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; |     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 => { |     this.html.find('input.item-quantite').change(async event => { | ||||||
|       const newQuantite = Math.max(0, Number.parseInt(this.html.find(event.currentTarget).val())); |       const newQuantite = Math.max(0, Number.parseInt(this.html.find(event.currentTarget).val())); | ||||||
|       await this.getItem(event)?.update({ "system.quantite": newQuantite }); |       await this.getItem(event)?.update({ "system.quantite": newQuantite }); | ||||||
| @@ -64,28 +57,4 @@ export class RdDCommerceSheet extends RdDBaseActorSheet { | |||||||
|   getTypesInventaire() { |   getTypesInventaire() { | ||||||
|     return RdDItem.getItemTypesInventaire('all'); |     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 { Misc } from "../misc.js"; | ||||||
|  | import { RdDUtility } from "../rdd-utility.js"; | ||||||
| import { RdDBaseActor } from "./base-actor.js"; | import { RdDBaseActor } from "./base-actor.js"; | ||||||
|  |  | ||||||
| export class RdDCommerce extends RdDBaseActor { | export class RdDCommerce extends RdDBaseActor { | ||||||
| @@ -37,4 +39,27 @@ export class RdDCommerce extends RdDBaseActor { | |||||||
|     const pourcentage = this.system.pourcentage ?? 100; |     const pourcentage = this.system.pourcentage ?? 100; | ||||||
|     return Misc.keepDecimals(Math.ceil(item.system.cout * pourcentage) / 100, 2); |     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() { |   constructor() { | ||||||
|     Hooks.on("getActorDirectoryFolderContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) }) |     //Hooks.on("getActorDirectoryFolderContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) }) | ||||||
|     Hooks.on("getActorDirectoryEntryContext", (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) { |   onActorDirectoryMenu(actorDirectory, menus) { | ||||||
|  |     // DEBUG console.log("ExportScriptarium.onActorDirectoryMenu", actorDirectory, menus) | ||||||
|     menus.push({ |     menus.push({ | ||||||
|       name: 'Export Personnages <i class="fa-regular fa-file-csv"></i>', |       name: 'Export Personnages', | ||||||
|       icon: IMG_SCRIPTARIUM, |       icon: '<i class="fa-solid fa-download"></i>', //IMG_SCRIPTARIUM, | ||||||
|       condition: (target) => game.user.isGM && |       condition: (target) => game.user.isGM && | ||||||
|         OptionsAvancees.isUsing(EXPORT_CSV_SCRIPTARIUM) && |         OptionsAvancees.isUsing(EXPORT_CSV_SCRIPTARIUM) && | ||||||
|         this.$getActors(actorDirectory, target).length > 0, |         this.$getActors(actorDirectory, target).length > 0, | ||||||
| @@ -28,22 +32,28 @@ export class ExportScriptarium { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   $getTargetName(actorDirectory, target) { |   $getTargetName(actorDirectory, target) { | ||||||
|  |     target = $(target) | ||||||
|     const li = target.closest(".directory-item") |     const li = target.closest(".directory-item") | ||||||
|     const folderId = li.data("folderId") |     const folderId = li.data("folderId") | ||||||
|     const actorId = li.data("documentId") |     const actorId = li.data("entryId") | ||||||
|     return actorId |     return actorId | ||||||
|       ? game.actors.get(actorId).name |       ? 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) { |   $getActors(actorDirectory, target) { | ||||||
|  |     if (actorDirectory.id != "actors") { | ||||||
|  |       return [] | ||||||
|  |     } | ||||||
|  |     // DEBUG console.log("ExportScriptarium.$getActors", actorDirectory, target) | ||||||
|  |     target = $(target) | ||||||
|     const li = target.closest(".directory-item") |     const li = target.closest(".directory-item") | ||||||
|     const folderId = li.data("folderId") |     const folderId = li.data("folderId") | ||||||
|     const actorId = li.data("documentId") |     const actorId = li.data("entryId") | ||||||
|     const actors = actorId |     const actors = actorId | ||||||
|       ? [game.actors.get(actorId)] |       ? [game.actors.get(actorId)] | ||||||
|       : folderId |       : 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) |     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 actorLines = actors.map(actor => Misc.join(this.getActorLine(actor), ';')) | ||||||
|     const data = Misc.join([header, ...actorLines], eol) |     const data = Misc.join([header, ...actorLines], eol) | ||||||
|     const filename = `scriptarium-${targetName?.slugify()}.csv`; |     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() { |   getHeaderLine() { | ||||||
|   | |||||||
| @@ -4,8 +4,7 @@ import { Misc } from "../misc.js" | |||||||
|  |  | ||||||
| export const ACTION_ITEM_ENCHANTER =  { | export const ACTION_ITEM_ENCHANTER =  { | ||||||
|   code: 'item-enchanter', label: 'Enchanter', icon: it => 'fa-solid fa-sparkles', |   code: 'item-enchanter', label: 'Enchanter', icon: it => 'fa-solid fa-sparkles', | ||||||
|   filter: it => game.user.isGM || DialogEnchanter.isEnchantable(it), |   filter: it => game.user.isGM || DialogEnchanter.isEnchantable(it) && it.parent?.type != ACTOR_TYPES.commerce, | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => DialogEnchanter.enchanter(item) |   action: (item, actor) => DialogEnchanter.enchanter(item) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,3 +1,4 @@ | |||||||
|  | import { ACTOR_TYPES } from "../constants.js" | ||||||
| import { Misc } from "../misc.js" | import { Misc } from "../misc.js" | ||||||
| import { RdDSheetUtility } from "../rdd-sheet-utility.js" | import { RdDSheetUtility } from "../rdd-sheet-utility.js" | ||||||
| import { RdDUtility } from "../rdd-utility.js" | import { RdDUtility } from "../rdd-utility.js" | ||||||
| @@ -14,22 +15,21 @@ const _SPACEHOLDER = { placeholder: true } | |||||||
| const _VENDRE = { | const _VENDRE = { | ||||||
|   code: 'item-vendre', label: 'Vendre ou donner', icon: it => 'fa-solid fa-comments-dollar', |   code: 'item-vendre', label: 'Vendre ou donner', icon: it => 'fa-solid fa-comments-dollar', | ||||||
|   filter: it => Misc.toInt(it.system.quantite) > 0, |   filter: it => Misc.toInt(it.system.quantite) > 0, | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => item.proposerVente() |   action: (item, actor) => item.proposerVente() | ||||||
| } | } | ||||||
| const _ACHAT_SERVICE = { | const _ACHETER = { | ||||||
|   code: 'item-service-acheter', label: 'Acheter', icon: it => 'fa-regular fa-coins', |   code: 'item-acheter', label: 'Acheter', icon: it => 'fa-regular fa-coins', | ||||||
|   //filter: it => Misc.toInt(it.system.quantite) > 0, |   filter: it => Misc.toInt(it.system.quantite) > 0 && it.parent?.type == ACTOR_TYPES.commerce, | ||||||
|   //optionsFilter: options => options.editable, |   action: (item, actor) => actor.vente(item) | ||||||
|   //action: (item, actor) => item.proposerVente() |  | ||||||
| } | } | ||||||
| const _MONTRER = { | const _MONTRER = { | ||||||
|   code: 'item-montrer', label: 'Montrer', icon: it => 'fa-solid fa-comment', |   code: 'item-montrer', label: 'Montrer', icon: it => 'fa-solid fa-comment', | ||||||
|  |   allowLimited: true, | ||||||
|   action: (item, actor) => item.postItemToChat() |   action: (item, actor) => item.postItemToChat() | ||||||
| } | } | ||||||
| const _SPLIT = { | const _SPLIT = { | ||||||
|   code: 'item-split', label: 'Séparer le goupe', icon: it => 'fa-solid fa-unlink', |   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) |   action: (item, actor) => RdDSheetUtility.splitItem(item, actor) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -39,7 +39,7 @@ const _EDIT = { | |||||||
| } | } | ||||||
| const _DELETE = { | const _DELETE = { | ||||||
|   code: 'item-delete', label: 'Supprimer', icon: it => 'fa-solid fa-trash', |   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) |   action: (item, actor) => RdDUtility.confirmActorItemDelete(item, actor) | ||||||
| } | } | ||||||
| const _EQUIPER = { | const _EQUIPER = { | ||||||
| @@ -51,30 +51,25 @@ const _EQUIPER = { | |||||||
| const _CUISINER = { | const _CUISINER = { | ||||||
|   code: 'item-cuisiner', label: 'Cuisiner', icon: it => 'fa-solid fa-utensils', |   code: 'item-cuisiner', label: 'Cuisiner', icon: it => 'fa-solid fa-utensils', | ||||||
|   filter: it => it.getUtilisation() == 'cuisine' && it.system.sust > 0, |   filter: it => it.getUtilisation() == 'cuisine' && it.system.sust > 0, | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => actor.preparerNourriture(item) |   action: (item, actor) => actor.preparerNourriture(item) | ||||||
| } | } | ||||||
| const _MANGER_CRU = { | const _MANGER_CRU = { | ||||||
|   code: 'item-manger-cru', label: 'Manger cru', icon: it => 'fa-solid fa-drumstick-bite', |   code: 'item-manger-cru', label: 'Manger cru', icon: it => 'fa-solid fa-drumstick-bite', | ||||||
|   filter: it => it.getUtilisation() == 'cuisine' && it.system.sust > 0, |   filter: it => it.getUtilisation() == 'cuisine' && it.system.sust > 0, | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => actor.mangerNourriture(item) |   action: (item, actor) => actor.mangerNourriture(item) | ||||||
| } | } | ||||||
| const _MANGER = { | const _MANGER = { | ||||||
|   code: 'item-manger', label: 'Manger', icon: it => 'fa-solid fa-utensils', |   code: 'item-manger', label: 'Manger', icon: it => 'fa-solid fa-utensils', | ||||||
|   filter: it => !(it.system.boisson), |   filter: it => !(it.system.boisson), | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => actor.mangerNourriture(item) |   action: (item, actor) => actor.mangerNourriture(item) | ||||||
| } | } | ||||||
| const _BOIRE = { | const _BOIRE = { | ||||||
|   code: 'item-boire', label: 'Boire', icon: it => 'fa-solid fa-glass-water', |   code: 'item-boire', label: 'Boire', icon: it => 'fa-solid fa-glass-water', | ||||||
|   filter: it => it.system.boisson, |   filter: it => it.system.boisson, | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => actor.mangerNourriture(item) |   action: (item, actor) => actor.mangerNourriture(item) | ||||||
| } | } | ||||||
| const _DECOCTION = { | const _DECOCTION = { | ||||||
|   code: 'item-decoction', label: 'Décoction', icon: it => 'fa-solid fa-flask-vial', |   code: 'item-decoction', label: 'Décoction', icon: it => 'fa-solid fa-flask-vial', | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => actor.fabriquerDecoctionHerbe(item) |   action: (item, actor) => actor.fabriquerDecoctionHerbe(item) | ||||||
| } | } | ||||||
| const _OUVRIR = { | const _OUVRIR = { | ||||||
| @@ -84,14 +79,12 @@ const _OUVRIR = { | |||||||
|  |  | ||||||
| const _LIRE = { | const _LIRE = { | ||||||
|   code: 'item-lire', label: 'Lire', icon: it => 'fa-solid fa-book-open', |   code: 'item-lire', label: 'Lire', icon: it => 'fa-solid fa-book-open', | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => actor.actionLire(item) |   action: (item, actor) => actor.actionLire(item) | ||||||
| } | } | ||||||
|  |  | ||||||
| const _REFOULER = { | const _REFOULER = { | ||||||
|   code: 'item-refouler', label: 'Refouler', icon: it => 'fa-solid fa-burst', |   code: 'item-refouler', label: 'Refouler', icon: it => 'fa-solid fa-burst', | ||||||
|   filter: it => it.system.refoulement > 0, |   filter: it => it.system.refoulement > 0, | ||||||
|   optionsFilter: options => options.editable, |  | ||||||
|   action: (item, actor) => actor.actionRefoulement(item) |   action: (item, actor) => actor.actionRefoulement(item) | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -102,7 +95,7 @@ const _SORT_RESERVE = { | |||||||
| } | } | ||||||
|  |  | ||||||
| export const COMMON_ACTIONS = [_EQUIPER] | 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 = { | export const ITEM_ACTIONS = { | ||||||
|   faune: [_CUISINER, _MANGER_CRU], |   faune: [_CUISINER, _MANGER_CRU], | ||||||
| @@ -114,17 +107,16 @@ export const ITEM_ACTIONS = { | |||||||
|   ombre: [_REFOULER], |   ombre: [_REFOULER], | ||||||
|   plante: [_CUISINER, _MANGER_CRU], |   plante: [_CUISINER, _MANGER_CRU], | ||||||
|   queue: [_REFOULER], |   queue: [_REFOULER], | ||||||
|   sort: [_SORT_RESERVE], |   sort: [_SORT_RESERVE] | ||||||
|   service: [_ACHAT_SERVICE] |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| export class ItemAction { | export class ItemAction { | ||||||
|  |  | ||||||
|   static applies(action, item, options) { |   static applies(action, item, options) { | ||||||
|     return action && item |     return action && item | ||||||
|       && item.isActionAllowed(action.code) |       && item.isActionAllowed(action.code) | ||||||
|       && (!action.filter || action.filter(item)) |       && (!action.filter || action.filter(item)) | ||||||
|  |       && (action.allowLimited || options.editable) | ||||||
|       && (!action.optionsFilter || action.optionsFilter(options)) |       && (!action.optionsFilter || action.optionsFilter(options)) | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -136,10 +128,10 @@ export class ItemAction { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   static async onActionItem(event, actor, options) { |   static async onActionItem(event, actor, options) { | ||||||
|     const item = RdDSheetUtility.getItem(event, actor) |  | ||||||
|     const code = $(event.currentTarget).data('code') |     const code = $(event.currentTarget).data('code') | ||||||
|  |     const item = RdDSheetUtility.getItem(event, actor) | ||||||
|     const action = item?.itemActions().find(it => it.code == code) |     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) |       await action.action(item, actor) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -8,6 +8,7 @@ import { RdDTimestamp } from "./time/rdd-timestamp.js"; | |||||||
| import { RdDRaretes } from "./item/raretes.js"; | import { RdDRaretes } from "./item/raretes.js"; | ||||||
| import { VOIES_DRACONIC } from "./item-sort.js"; | import { VOIES_DRACONIC } from "./item-sort.js"; | ||||||
| import { SystemCompendiums } from "./settings/system-compendiums.js"; | import { SystemCompendiums } from "./settings/system-compendiums.js"; | ||||||
|  | import { Misc } from "./misc.js"; | ||||||
|  |  | ||||||
| class Migration { | class Migration { | ||||||
|   get code() { return "sample"; } |   get code() { return "sample"; } | ||||||
| @@ -632,12 +633,21 @@ class _12_0_38_TachesEcriture extends Migration { | |||||||
|   async migrate() { |   async migrate() { | ||||||
|     await this.applyItemsUpdates(items => items |     await this.applyItemsUpdates(items => items | ||||||
|       .filter(it => [ITEM_TYPES.tache, ITEM_TYPES.livre, ITEM_TYPES.oeuvre, ITEM_TYPES.meditation].includes(it.type) ) |       .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' } }) |       .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 { | export class Migrations { | ||||||
|   static getMigrations() { |   static getMigrations() { | ||||||
|     return [ |     return [ | ||||||
| @@ -660,7 +670,8 @@ export class Migrations { | |||||||
|       new _12_0_26_MigrationVoieSorts(), |       new _12_0_26_MigrationVoieSorts(), | ||||||
|       new _12_0_32_MigrationRaces(), |       new _12_0_32_MigrationRaces(), | ||||||
|       new _12_0_37_MigrationAlchimieEtat(), |       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(), |       etat: actor.getEtatGeneral(), | ||||||
|       moral: actor.getMoralTotal(), /* La valeur du moral pour les jets de volonté */ |       moral: actor.getMoralTotal(), /* La valeur du moral pour les jets de volonté */ | ||||||
|       amoureux: actor.listeSuivants(it => it.coeur > 0), |       amoureux: actor.listeSuivants(it => it.coeur > 0), | ||||||
|       carac: actor.system.carac, |       carac: foundry.utils.duplicate(actor.system.carac), | ||||||
|       finalLevel: 0, |       finalLevel: 0, | ||||||
|       diffConditions: 0, |       diffConditions: 0, | ||||||
|       diffLibre: rollData.competence?.system.default_diffLibre ?? 0, |       diffLibre: rollData.competence?.system.default_diffLibre ?? 0, | ||||||
|   | |||||||
| @@ -89,7 +89,7 @@ export class RdDTokenHud { | |||||||
|     if (target?.actor) { |     if (target?.actor) { | ||||||
|       const hudSoins = { blessures: target.actor.blessuresASoigner() ?? [] }; |       const hudSoins = { blessures: target.actor.blessuresASoigner() ?? [] }; | ||||||
|       if (hudSoins.blessures.length > 0) { |       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, |         await RdDTokenHud._configureSubMenu(controlIconTarget, | ||||||
|           'systems/foundryvtt-reve-de-dragon/templates/hud-actor-soins.hbs', |           'systems/foundryvtt-reve-de-dragon/templates/hud-actor-soins.hbs', | ||||||
|           hudSoins, |           hudSoins, | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ import { Misc } from "../misc.js" | |||||||
| export const EXPORT_CSV_SCRIPTARIUM = 'export-csv-scriptarium' | export const EXPORT_CSV_SCRIPTARIUM = 'export-csv-scriptarium' | ||||||
|  |  | ||||||
| const OPTIONS_AVANCEES = [ | 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 { | export class OptionsAvancees extends FormApplication { | ||||||
| @@ -24,10 +24,6 @@ export class OptionsAvancees extends FormApplication { | |||||||
|     }) |     }) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   constructor(...args) { |  | ||||||
|     super(...args) |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static _getId(name) { |   static _getId(name) { | ||||||
|     return `rdd-advanced-${name}` |     return `rdd-advanced-${name}` | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -3,8 +3,8 @@ type: faune | |||||||
| img: systems/foundryvtt-reve-de-dragon/icons/faune/ours.webp | img: systems/foundryvtt-reve-de-dragon/icons/faune/ours.webp | ||||||
| system: | system: | ||||||
|   description: >- |   description: >- | ||||||
|     <p>Ours. Forêt, montagne, 300 kg, 600 sust.Surtout recherché |     <p>Ours. Forêt, montagne, 300 kg, 600 sust. Surtout recherché | ||||||
|     pour sa peau (voir legrizzal, p405).</p> |     pour sa peau (voir le grizzal, p405).</p> | ||||||
|   descriptionmj: '' |   descriptionmj: '' | ||||||
|   encombrement: 150 |   encombrement: 150 | ||||||
|   quantite: 1 |   quantite: 1 | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| {{#unless item.system.isHidden}} | {{#unless item.system.isHidden}} | ||||||
| {{#if (ne item.type 'monnaie')}} | {{#if (ne item.type 'monnaie')}} | ||||||
| <li class="item flexrow list-item" data-item-id="{{item._id}}" draggable="true"> | <li class="item flexrow list-item" data-item-id="{{item._id}}" draggable="true"> | ||||||
|   <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}} > |     <a{{#if (and (ne item.type 'conteneur') options.isObserver)}} class="item-edit"{{/if}} > | ||||||
|     {{#if (eq item.type 'conteneur')}} |     {{#if (eq item.type 'conteneur')}} | ||||||
|       <i class="{{~#if vide}}far fa-square |       <i class="{{~#if vide}}far fa-square | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|       <div> |       <div> | ||||||
|         <h1 class="charname">{{name}}</h1> |         <h1 class="charname">{{name}}</h1> | ||||||
|       </div> |       </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-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-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> |         <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}} | {{#unless item.system.isHidden}} | ||||||
| {{#if (or options.isObserver (ne item.type 'monnaie'))}} | {{#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}}"> | <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')}} |     {{#if (eq item.type 'conteneur')}} | ||||||
|     <a> |     <a> | ||||||
|       <i class="{{~#if vide}}far fa-square |       <i class="{{~#if vide}}far fa-square | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| <img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | <h4><img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||||
| <h4>{{#if isVente}}Achat{{else}}Don{{/if}}</h4> |   {{#if isVente}}Achat{{else}}Don{{/if}}</h4> | ||||||
| <p> | <p> | ||||||
|   {{#if acheteur}}{{acheteur.name}}{{else}}L'acheteur{{/if}} a |   {{#if acheteur}}{{acheteur.name}}{{else}}L'acheteur{{/if}} a | ||||||
|   {{#if isVente}}acheté{{else}}pris{{/if}} |   {{#if isVente}}acheté{{else}}pris{{/if}} | ||||||
|   | |||||||
| @@ -1,8 +1,10 @@ | |||||||
| <img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | <h4><img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||||
| <h4>{{actor.name}} a gagné de l'expérience</h4> |   {{actor.name}} a gagné de l'expérience | ||||||
|  | </h4> | ||||||
| {{#each xpData as |it|}} | {{#each xpData as |it|}} | ||||||
|   {{#if (gt it.xpCarac 0)}} |   {{#if (gt it.xpCarac 0)}} | ||||||
|   <hr> |     <hr> | ||||||
|  |     <p> | ||||||
|     {{it.xpCarac}} point{{#if (gt it.xpCarac 1)}}s{{/if}} |     {{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}} |     {{#if it.caracRepartitionManuelle}}à répartir manuellement dans la caractéristique dérivée{{else}}en{{/if}} | ||||||
|     {{it.caracName}}. |     {{it.caracName}}. | ||||||
| @@ -10,9 +12,11 @@ | |||||||
|       L'expérience dans cette caractéristique est de {{it.checkCarac.xp}}, elle peut progresser! |       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. |       <br>Vous devez ouvrir votre fiche de personnage et appliquer l'augmentation manuellement. | ||||||
|     {{/if}} |     {{/if}} | ||||||
|  |     </p> | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{#if (gt it.xpCompetence 0)}} |   {{#if (gt it.xpCompetence 0)}} | ||||||
|   <hr> |     <hr> | ||||||
|  |     <p> | ||||||
|     {{it.xpCompetence}} point{{#if (gt it.xpCompetence 1)}}s{{/if}} en {{it.competence.name}}. |     {{it.xpCompetence}} point{{#if (gt it.xpCompetence 1)}}s{{/if}} en {{it.competence.name}}. | ||||||
|       {{#if it.checkComp}} |       {{#if it.checkComp}} | ||||||
|         L'expérience dans cette compétence est de {{it.checkComp.xp}}, elle peut progresser jusqu'à {{it.checkComp.niveau}}! |         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}} |         {{/if}} | ||||||
|       {{/if}} |       {{/if}} | ||||||
|  |     </p> | ||||||
|   {{/if}} |   {{/if}} | ||||||
| {{/each}} | {{/each}} | ||||||
| @@ -1,2 +1,3 @@ | |||||||
| <img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | <h4><img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||||
| <h4>C'est au tour de {{alias}} !</h4> |   C'est au tour de {{alias}} ! | ||||||
|  | </h4> | ||||||
|   | |||||||
| @@ -1,13 +1,14 @@ | |||||||
| <img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | <h4><img class="chat-icon" src="{{actor.img}}" data-tooltip="{{actor.name}}" /> | ||||||
| <h4>Résumé de santé pour {{alias}}</h4> |   Résumé de santé pour {{alias}} | ||||||
| <div data-combatid="{{combatId}}" data-combatmessage="actor-turn-summary">{{blessuresStatus}}</div> | </h4> | ||||||
| <div>Son état général est de : {{etatGeneral}} {{#if isSonne}} et est <strong>sonné</strong>{{/if}}</div> | <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}} | {{#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}} | ||||||
| {{#if isCritique}} | {{#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" |   <a class="chat-card-button chat-jet-vie" | ||||||
|    data-tokenId="{{tokenId}}" |    data-tokenId="{{tokenId}}" | ||||||
|    data-actorId="{{actorId}}">Jet de Vie.<a></div> |    data-actorId="{{actorId}}">Jet de Vie.<a></p> | ||||||
| {{/if}} | {{/if}} | ||||||
| @@ -1,14 +1,15 @@ | |||||||
| <img class="chat-icon" src="{{rencontre.img}}" data-tooltip="{{rencontre.name}}" /> | <h4><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> |   {{#if mauvaise}}Mauvaise rencontre{{else}}Rencontre{{/if}} en {{typeTmr-name tmr.type}} | ||||||
| <div>{{row.document.pack}}</div> | </h4> | ||||||
| <div>Jet: {{row.roll.formula}} : {{row.roll.total}}{{percentages}}</div> | <p>{{row.document.pack}}</p> | ||||||
|  | <p>Jet: {{row.roll.formula}} : {{row.roll.total}}{{percentages}}</p> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   <p>{{rencontre.name}} de force {{rencontre.system.force}} ({{rencontre.system.formule}})</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> |   <p>{{linkCompendium row.document.pack row.document.id row.document.name}}</p> | ||||||
|   {{#if rencontre.system.description}} |   {{#if rencontre.system.description}} | ||||||
|   <div class="poesie-extrait"> |   <p class="poesie-extrait"> | ||||||
|     {{{rencontre.system.description}}} |     {{{rencontre.system.description}}} | ||||||
|   </div> |   </p> | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </p> | ||||||
| @@ -1,21 +1,21 @@ | |||||||
| <h4>Tirage aléatoire: {{document.name}}</h4> | <h4>Tirage aléatoire: {{document.name}}</h4> | ||||||
| <div> | <p> | ||||||
|   Tirage de {{typeName}} aléatoire |   Tirage de {{typeName}} aléatoire | ||||||
|   {{#if options.showSource}} depuis {{document.pack}}{{/if}} |   {{#if options.showSource}} depuis {{document.pack}}{{/if}} | ||||||
| </div> | </p> | ||||||
| <div>Jet {{roll.formula}} : {{roll.total}}</div> | <p>Jet {{roll.formula}} : {{roll.total}}</p> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   <img class="chat-icon" src="{{document.img}}" data-tooltip="{{document.name}}" /> |   <img class="chat-icon" src="{{document.img}}" data-tooltip="{{document.name}}" /> | ||||||
|   <p>{{linkCompendium document.pack document.id document.name}}</p> |   <p>{{linkCompendium document.pack document.id document.name}}</p> | ||||||
|   {{#if document.system.formule}} |   {{#if document.system.formule}} | ||||||
|   <div class="poesie-extrait"> |   <p class="poesie-extrait"> | ||||||
|     @roll[{{document.system.formule}}] |     @roll[{{document.system.formule}}] | ||||||
|   </div> |   </p> | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{#if document.system.description}} |   {{#if document.system.description}} | ||||||
|   <div class="poesie-extrait"> |   <p class="poesie-extrait"> | ||||||
|     {{{document.system.description}}} |     {{{document.system.description}}} | ||||||
|   </div> |   </p> | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,13 +1,12 @@ | |||||||
| <div> | <h4><img class="chat-icon" src="{{img}}" data-tooltip="{{typeName}}" /> | ||||||
|   <img class="chat-icon" src="{{img}}" data-tooltip="{{typeName}}" /> |   Table aléatoire: {{typeName}} | ||||||
|   <h4>Table aléatoire: {{typeName}}</h4> | </h4> | ||||||
|   {{#with (lookup table 0) as |row|}} | {{#with (lookup table 0) as |row|}} | ||||||
|   <div> | <p> | ||||||
|     {{row.document.pack}} |   {{row.document.pack}} | ||||||
|   </div> | </p> | ||||||
|   {{/with}} | {{/with}} | ||||||
|   <br> | <br> | ||||||
| </div> |  | ||||||
| <div> | <div> | ||||||
|   <ul class="flexcol item-list alterne-list"> |   <ul class="flexcol item-list alterne-list"> | ||||||
|     {{#each table as |row|}} |     {{#each table as |row|}} | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| <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{{/if}}</strong> |   {{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée{{/if}}</strong> | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if system.magique}} |   {{#if system.magique}} | ||||||
|     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. |     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. | ||||||
|     {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} |     {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| @@ -15,4 +15,4 @@ | |||||||
|     {{/if}} |     {{/if}} | ||||||
|   {{/if}}. |   {{/if}}. | ||||||
|   <br>La potion a été supprimée de l'équipement. |   <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><img class="chat-icon" src="{{img}}" data-tooltip="potion de repos" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de puissance {{system.puissance}}{{/if}}</strong>. |   {{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de puissance {{system.puissance}}{{/if}}</strong>. | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if system.magique}} |   {{#if system.magique}} | ||||||
|     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. |     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. | ||||||
|     {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} |     {{> "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). |     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}} |   {{/if}} | ||||||
|   <br>La potion a été supprimée de l'équipement. |   <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><img class="chat-icon" src="{{img}}" data-tooltip="potion de soin" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de {{system.puissance}} points de guérison{{/if}}</strong> |   {{alias}} a bu une <strong>{{name}}{{#if system.magique}} enchantée de {{system.puissance}} points de guérison{{/if}}</strong> | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if system.magique}} |   {{#if system.magique}} | ||||||
|     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. |     Le Jet de Résistance est {{#if rolled.isSuccess}}réussi{{else}}échoué{{/if}}. | ||||||
|     {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} |     {{> "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). |     Lors de votre prochain jet de récupération à Chateau Dormant, vous bénéficierez d'un bonus de {{system.herbebonus}} (appliqué automatiquement). | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   <br>La potion a été supprimée de l'équipement. |   <br>La potion a été supprimée de l'équipement. | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||||
| <h4> |  | ||||||
|   {{attacker.name}} a entraîné {{defender.name}} au sol |   {{attacker.name}} a entraîné {{defender.name}} au sol | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
|   | |||||||
| @@ -1,9 +1,8 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||||
| <h4> |  | ||||||
|   {{attacker.name}} a empoigné {{defender.name}} |   {{attacker.name}} a empoigné {{defender.name}} | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   <span class='chat-card-button-area'> |   <span class='chat-card-button-area'> | ||||||
|     {{attacker.name}} vient d'obtenir 2 points d'Emp, et peut |     {{attacker.name}} vient d'obtenir 2 points d'Emp, et peut | ||||||
|       entraîner {{defender.name}} au sol. Les deux protagonistes |       entraîner {{defender.name}} au sol. Les deux protagonistes | ||||||
| @@ -13,4 +12,4 @@ | |||||||
|         Entraîner au sol |         Entraîner au sol | ||||||
|       </a> |       </a> | ||||||
|   </span> |   </span> | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,13 +1,10 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||||
| <h4> |  | ||||||
|   {{attacker.name}} a empoigné {{defender.name}} |   {{attacker.name}} a empoigné {{defender.name}} | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   <span class='chat-card-button-area'> |   <span class='chat-card-button-area'> | ||||||
|     <p> |  | ||||||
|       {{attacker.name}} a obtenu 2 points d'Emp à la fin du round précédent, et peut: |       {{attacker.name}} a obtenu 2 points d'Emp à la fin du round précédent, et peut: | ||||||
|        |  | ||||||
|       <ul><li> |       <ul><li> | ||||||
|         faire perdre des points d'Endurance à {{defender.name}} |         faire perdre des points d'Endurance à {{defender.name}} | ||||||
|         <br> |         <br> | ||||||
| @@ -30,6 +27,5 @@ | |||||||
|           </a> |           </a> | ||||||
|         {{/if}} |         {{/if}} | ||||||
|       </li></ul> |       </li></ul> | ||||||
|     </p> |  | ||||||
|   </span> |   </span> | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,8 +1,7 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||||
| <h4> |  | ||||||
|   {{attacker.name}} a fait perdre de l'endurance à {{defender.name}} |   {{attacker.name}} a fait perdre de l'endurance à {{defender.name}} | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{defender.name}} reste immobilisé. L'empoignade peut continuer. |   {{defender.name}} reste immobilisé. L'empoignade peut continuer. | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,8 +1,7 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||||
| <h4> |  | ||||||
|   {{attacker.name}} a projeté {{defender.name}} au sol |   {{attacker.name}} a projeté {{defender.name}} au sol | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   L'empoignade est terminée et a été supprimée. |   L'empoignade est terminée et a été supprimée. | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||||
| <h4> |  | ||||||
|   {{#if (eq mode "empoigner")}} |   {{#if (eq mode "empoigner")}} | ||||||
|     {{attacker.name}} tente d'empoigner {{defender.name}} |     {{attacker.name}} tente d'empoigner {{defender.name}} | ||||||
|   {{/if}} |   {{/if}} | ||||||
| @@ -16,7 +15,7 @@ | |||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
|  |  | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|  |  | ||||||
|   {{#if (gte empoignade.system.pointsemp 2)}}     |   {{#if (gte empoignade.system.pointsemp 2)}}     | ||||||
|    |    | ||||||
| @@ -75,4 +74,4 @@ | |||||||
|     </span> |     </span> | ||||||
|   <br>Points d'Emp: {{empoignade.system.pointsemp}} |   <br>Points d'Emp: {{empoignade.system.pointsemp}} | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,9 +1,8 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||||
| <h4> |  | ||||||
|   {{attacker.name}} tente d'empoigner {{defender.name}} |   {{attacker.name}} tente d'empoigner {{defender.name}} | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   <span class='chat-card-button-area'> |   <span class='chat-card-button-area'> | ||||||
|     <br> |     <br> | ||||||
|     <strong>{{attacker.name}} tente d'empoigner {{defender.name}}, qui est équipé d'une arme de mêlée. {{defender.name}} |     <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 |       Poursuivre l'empoignade | ||||||
|     </a> |     </a> | ||||||
|   </span> |   </span> | ||||||
| </div> | </p> | ||||||
| @@ -1,15 +1,14 @@ | |||||||
| <img class="chat-icon" src="{{herbe.img}}" data-tooltip="fabrication" /> | <h4><img class="chat-icon" src="{{herbe.img}}" data-tooltip="fabrication" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} a fabriqué une potion de {{herbe.system.categorie}} de {{herbe.name}}, avec {{herbe.nbBrins}} brins. |   {{alias}} a fabriqué une potion de {{herbe.system.categorie}} de {{herbe.name}}, avec {{herbe.nbBrins}} brins. | ||||||
| </h4> | </h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if (eq nbBrinsReste 0)}} |   {{#if (eq nbBrinsReste 0)}} | ||||||
|   Toute l'herbe a été consommée par la potion. L'herbe a été supprimée de l'inventaire. |   Toute l'herbe a été consommée par la potion. L'herbe a été supprimée de l'inventaire. | ||||||
|   {{else}} |   {{else}} | ||||||
|   La quantité d'herbe est désormais de {{nbBrinsReste}} et a été mise à jour automatiquement. |   La quantité d'herbe est désormais de {{nbBrinsReste}} et a été mise à jour automatiquement. | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </p> | ||||||
| <div> | <p> | ||||||
|   Pensez à mettre la potion dans une fiole ! |   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><img class="chat-icon" src="{{sortReserve.img}}" data-tooltip="{{sortReserve.name}}"/> | ||||||
| <h4>Déclenchement de sort: {{sortReserve.name}}</h4> |   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}} | <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}}). | en réserve en {{sortReserve.system.coord}} ({{caseTmr-label sortReserve.system.coord}}). | ||||||
| <br>Ce sort a {{sortReserve.system.ptreve}} points de Rêve | <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}} |   {{timestamp-imgSigneHeure sortReserve.system.heurecible}} {{sortReserve.system.heurecible}} | ||||||
|    {{else}}indéterminée{{/if}} |    {{else}}indéterminée{{/if}} | ||||||
| {{#if sort}} | {{#if sort}} | ||||||
| <div class="poesie-extrait poesie-overflow"> | <p class="poesie-extrait poesie-overflow"> | ||||||
|   {{{sort.system.description}}} |   {{{sort.system.description}}} | ||||||
| </div> | </p> | ||||||
| {{/if}} | {{/if}} | ||||||
|   | |||||||
| @@ -1,9 +1,8 @@ | |||||||
| <img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | <h4><img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||||
| <h4> |  | ||||||
|   La {{item.type}} enchantée {{item.name}} de {{alias}} a perdu un Point de Rêve (nouveau total : {{nouveaupr}}).</h4> |   La {{item.type}} enchantée {{item.name}} de {{alias}} a perdu un Point de Rêve (nouveau total : {{nouveaupr}}).</h4> | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if (and (eq item.type 'potion') (eq nouveaupr 0))}} |   {{#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. |   Sa {{item.type}} étant désormais à 0 Point de Rêve, elle est inutilisable et peut être jetée. | ||||||
|   {{/if}} |   {{/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}}"> | <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}} |   {{alias}} rencontre {{#if (eq rencontre.system.genre 'f')}}une{{else}}un{{/if}} {{rencontre.name}} de force {{rencontre.system.force}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
|   | |||||||
| @@ -3,8 +3,8 @@ | |||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div>{{#if rolled.isSuccess}} | <p>{{#if rolled.isSuccess}} | ||||||
|     {{alias}} s'est accordé à {{entite}} |     {{alias}} s'est accordé à {{entite}} | ||||||
|     {{else}}ne s'est pas accordé à {{entite}}, il pourra réessayer à sa prochaine attaque. |     {{else}}ne s'est pas accordé à {{entite}}, il pourra réessayer à sa prochaine attaque. | ||||||
|     {{/if}}  |     {{/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><img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/competence_alchimie.webp" data-tooltip="préparation alchimique" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} essaye de réaliser sa recette Alchimique : {{recette.name}} |   {{alias}} essaye de réaliser sa recette Alchimique : {{recette.name}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} a réussi son opération alchimique ! Il/Elle peut passer à l'étape suivante de sa recette.  |   {{alias}} a réussi son opération alchimique ! Il/Elle peut passer à l'étape suivante de sa recette.  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} a raté son opération alchimique ! Sa recette est un echec. |   {{alias}} a raté son opération alchimique ! Sa recette est un echec. | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} |   {{> "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"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| {{~#if rolled.isSuccess}} | {{~#if rolled.isSuccess}} | ||||||
| <hr> | <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}} | {{/if}} | ||||||
|   | |||||||
| @@ -1,10 +1,10 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
| <h4>{{alias}} attaque  à {{diffLibre}}: {{arme.name}}</h4> |   {{alias}} attaque  à {{diffLibre}}: {{arme.name}}</h4> | ||||||
| <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | <p>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</p> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| {{#if tactique}} | {{#if tactique}} | ||||||
|   <div> |   <p> | ||||||
|     {{#if (eq tactique 'charge')}} |     {{#if (eq tactique 'charge')}} | ||||||
|     <img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="charge" height="32" width="32" /> |     <img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="charge" height="32" width="32" /> | ||||||
|     C'est une charge, vos parades auront un -4 et vous ne pourrez pas esquiver! |     C'est une charge, vos parades auront un -4 et vous ne pourrez pas esquiver! | ||||||
| @@ -14,9 +14,9 @@ | |||||||
|         Votre feinte peut faire mouche! |         Votre feinte peut faire mouche! | ||||||
|       {{/if}} |       {{/if}} | ||||||
|     {{/if}} |     {{/if}} | ||||||
|   </div> |   </p> | ||||||
| {{/if}} | {{/if}} | ||||||
| <div> | <p> | ||||||
|  {{#if rolled.isSuccess}} |  {{#if rolled.isSuccess}} | ||||||
|   <span><strong>{{show.cible}}</strong> doit se défendre à <strong>{{diffLibre}}</strong>, ou encaisser à |   <span><strong>{{show.cible}}</strong> doit se défendre à <strong>{{diffLibre}}</strong>, ou encaisser à | ||||||
|     {{~#if (eq dmg.mortalite 'non-mortel')}} |     {{~#if (eq dmg.mortalite 'non-mortel')}} | ||||||
| @@ -37,4 +37,4 @@ | |||||||
|   <span>Votre attaque a échoué!</span> |   <span>Votre attaque a échoué!</span> | ||||||
| {{/if}} | {{/if}} | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | {{> "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><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} {{#if rolled.isSuccess}}chante{{else}}tente de chanter{{/if}} {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) |   {{alias}} {{#if rolled.isSuccess}}chante{{else}}tente de chanter{{/if}} {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  |   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. |   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} |   {{> "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}} | {{> "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><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} {{show.title}}: |   {{alias}} {{show.title}}: | ||||||
|   {{#if selectedCarac}}{{selectedCarac.label}} |   {{#if selectedCarac}}{{selectedCarac.label}} | ||||||
|     {{#if competence}} |     {{#if competence}} | ||||||
| @@ -9,12 +8,12 @@ | |||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <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> |   <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"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||||
| {{~#if show.explications}} | {{~#if show.explications}} | ||||||
| <div> | <p> | ||||||
|   {{show.explications}} |   {{show.explications}} | ||||||
| </div> | </p> | ||||||
| {{/if}} | {{/if}} | ||||||
|   | |||||||
| @@ -1,15 +1,14 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} {{#if rolled.isSuccess}}danse{{else}}tente de danser{{/if}} {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) |   {{alias}} {{#if rolled.isSuccess}}danse{{else}}tente de danser{{/if}} {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  |   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. |   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} |   {{> "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}} | {{> "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><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
| <h4>{{alias}} esquive une attaque à {{diffLibre}}</h4> |   {{alias}} esquive une attaque à {{diffLibre}}</h4> | ||||||
| <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | <p>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</p> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   <span>Attaque esquivée!</span> |   <span>Attaque esquivée!</span> | ||||||
|     {{#if rolled.isPart}} |     {{#if rolled.isPart}} | ||||||
| @@ -14,10 +14,10 @@ | |||||||
|   <span>L'esquive de {{alias}} a échoué!</span> |   <span>L'esquive de {{alias}} a échoué!</span> | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} |   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} | ||||||
| </div> | </p> | ||||||
|  |  | ||||||
| {{#if attackerRoll.tactique}} | {{#if attackerRoll.tactique}} | ||||||
| <div> | <p> | ||||||
|   {{#if (eq attackerRoll.tactique 'charge')}} |   {{#if (eq attackerRoll.tactique 'charge')}} | ||||||
|   <img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="charge" height="32" width="32" /> |   <img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="charge" height="32" width="32" /> | ||||||
|   C'était une charge, les parades de l'adversaire de {{alias}} auront un -4 et il ne pourra pas esquiver! |   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" /> |   <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! |   C'était une feinte! | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </p> | ||||||
| {{/if}} | {{/if}} | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| <img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/objets/chope_gres.webp" data-tooltip="Ethylisme" /> | <h4><img class="chat-icon" src="systems/foundryvtt-reve-de-dragon/icons/objets/chope_gres.webp" data-tooltip="Ethylisme" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} boit un verre d'alcool de force {{jetVie.forceAlcool}} |   {{alias}} boit un verre d'alcool de force {{jetVie.forceAlcool}} | ||||||
|   {{#if alcool}} |   {{#if alcool}} | ||||||
|   <br>{{alcool.name}} |   <br>{{alcool.name}} | ||||||
|   | |||||||
| @@ -1,7 +1,5 @@ | |||||||
| {{#if competence.img}} |  | ||||||
|   <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> |  | ||||||
| {{/if}} |  | ||||||
| <h4> | <h4> | ||||||
|  |   <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
|   {{alias}} {{#if show.title}}{{show.title}}: {{/if}} |   {{alias}} {{#if show.title}}{{show.title}}: {{/if}} | ||||||
|   {{#if selectedCarac}}{{selectedCarac.label}} |   {{#if selectedCarac}}{{selectedCarac.label}} | ||||||
|     {{#if competence}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}{{/if}} |     {{#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><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} joue à : {{oeuvre.name}} |   {{alias}} joue à : {{oeuvre.name}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} a gagné la partie ! |   {{alias}} a gagné la partie ! | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} a perdu ... |   {{alias}} a perdu ... | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} |   {{> "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}} | {{> "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><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
| <h4>{{alias}} lit le signe {{signe.name}}</h4> |   {{alias}} lit le signe {{signe.name}}</h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} a gagné {{xpSort}} points d'expérience en sorts en {{competence.name}}. |   {{alias}} a gagné {{xpSort}} points d'expérience en sorts en {{competence.name}}. | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} n'a pas pu interpréter le signe draconique. |   {{alias}} n'a pas pu interpréter le signe draconique. | ||||||
|   {{/if}} |   {{/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}}"> | <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}} |   {{alias}} tente de {{maitrise.verbe}} {{grammar-le tmr.genre}} | ||||||
|   {{#if isTMRCache}} |   {{#if isTMRCache}} | ||||||
|     {{caseTmr-type tmr.coord}} |     {{caseTmr-type tmr.coord}} | ||||||
|   | |||||||
| @@ -1,10 +1,9 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} a médité : {{meditation.name}} |   {{alias}} a médité : {{meditation.name}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#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>. |   {{alias}} aperçoit un signe draconique éphémère, qu'il faut aller lire en <strong>{{typeTmr-name meditation.system.tmr}}</strong>. | ||||||
|   {{else}} |   {{else}} | ||||||
| @@ -12,4 +11,4 @@ | |||||||
|   {{/if}} |   {{/if}} | ||||||
|   <br><span>{{alias}} s'est fatigué de 2 cases.</span> |   <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~}} |   {{#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><img class="chat-icon" src="icons/svg/lightning.svg" data-tooltip="Météo" /> | ||||||
| <h4>Météo aléatoire</h4> |   Météo aléatoire</h4> | ||||||
| <ul> | <ul> | ||||||
|   <li>Vent: {{lowerFirst vent.description}} {{grammar-apostrophe 'de' vent.direction}}, force {{vent.force}}</li> |   <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>Mer {{lowerFirst mer.description}}, {{grammar-apostrophe 'de' mer.direction}}, force {{mer.force}}</li> | ||||||
|   <li>Température {{lowerFirst temperature.description}} ({{plusMoins temperature.force}})</li> |   <li>Température {{lowerFirst temperature.description}} ({{plusMoins temperature.force}})</li> | ||||||
|   <li>Couverture nuageuse: {{lowerFirst nuage.description}}</li> |   <li>Couverture nuageuse: {{lowerFirst nuage.description}}</li> | ||||||
|   <li>Pluie: {{lowerFirst pluie.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><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} {{#if rolled.isSuccess}}interprete{{else}}tente de jouer{{/if}} le morceau : {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) |   {{alias}} {{#if rolled.isSuccess}}interprete{{else}}tente de jouer{{/if}} le morceau : {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  |   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. |   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} |   {{> "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}} | {{> "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}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||||
|  |  | ||||||
|   {{alias}} tente d'interpréter {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) |   {{alias}} tente d'interpréter {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| <br>{{upperFirst oeuvre.system.default_carac}} / {{oeuvre.system.competence}} | <br>{{upperFirst oeuvre.system.default_carac}} / {{oeuvre.system.competence}} | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{#if rolled.isSuccess}} |   {{#if rolled.isSuccess}} | ||||||
|   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  |   {{alias}} réussit son interprétation avec une qualité de {{qualiteFinale}} .  | ||||||
|   {{else}} |   {{else}} | ||||||
|   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. |   {{alias}} manque d'inspiration, son interprétation a une qualité de {{qualiteFinale}}. | ||||||
|   {{/if}} |   {{/if}} | ||||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} |   {{> "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}} | {{> "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><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
| <h4>{{alias}} pare une attaque à {{diffLibre}} - {{arme.name}}</h4> |   {{alias}} pare une attaque à {{diffLibre}} - {{arme.name}}</h4> | ||||||
| <div>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</div> | <p>{{selectedCarac.label}}{{#unless (eq selectedCarac.label competence.name)}} / {{competence.name}}{{/unless}}</p> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   <span> |   <span> | ||||||
|     {{#if rolled.isSuccess}} |     {{#if rolled.isSuccess}} | ||||||
|     Attaque parée! |     Attaque parée! | ||||||
| @@ -13,27 +13,27 @@ | |||||||
|     {{/if}} |     {{/if}} | ||||||
|   </span> |   </span> | ||||||
|   {{> "systems/foundryvtt-reve-de-dragon/templates/chat-info-appel-au-moral.hbs"}} |   {{> "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> | {{#if (eq show.recul 'encaisse')}}<p>{{alias}} ne recule pas malgré la violence du coup.</p> | ||||||
| {{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 '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')}}<div>La violence du coup fait reculer {{alias}} de quelques mètres ! Il/elle ne pourra plus attaquer ce round.</div> | {{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}} | ||||||
|  |  | ||||||
| {{#if (eq show.deteriorationArme 'resiste')}} | {{#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')}} | {{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')}} | {{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}} | ||||||
|  |  | ||||||
| {{#if show.desarme}} | {{#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}} | ||||||
|  |  | ||||||
| {{#if attackerRoll.tactique}} | {{#if attackerRoll.tactique}} | ||||||
| <div> | <p> | ||||||
|   {{#if (eq attackerRoll.tactique 'charge')}} |   {{#if (eq attackerRoll.tactique 'charge')}} | ||||||
|   <img class="chat-icon" src="icons/svg/thrust.svg" data-tooltip="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! |   C'était une charge, les parades de l'adversaire auront un -4 et il ne pourra pas esquiver! | ||||||
| @@ -42,5 +42,5 @@ | |||||||
|     width="32" /> |     width="32" /> | ||||||
|   C'était une feinte! |   C'était une feinte! | ||||||
|   {{/if}} |   {{/if}} | ||||||
| </div> | </p> | ||||||
| {{/if}} | {{/if}} | ||||||
| @@ -1,5 +1,4 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" /> | ||||||
| <h4> |  | ||||||
|   {{#if (eq mode "attaque")}} |   {{#if (eq mode "attaque")}} | ||||||
|     {{attacker.name}} tente de {{#if isECNIDefender}}conjurer la possession de{{else}}posséder{{/if}} {{defender.name}} |     {{attacker.name}} tente de {{#if isECNIDefender}}conjurer la possession de{{else}}posséder{{/if}} {{defender.name}} | ||||||
|   {{else}} |   {{else}} | ||||||
| @@ -9,7 +8,7 @@ | |||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
|  |  | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   <span class='chat-card-button-area'> |   <span class='chat-card-button-area'> | ||||||
|     <br> |     <br> | ||||||
|     {{#if (eq mode "attaque")}} |     {{#if (eq mode "attaque")}} | ||||||
| @@ -44,4 +43,4 @@ | |||||||
|     {{#if possession.isConjurer}} |     {{#if possession.isConjurer}} | ||||||
|     <br><strong>Vous avez conjuré {{possession.system.typepossession}} ! La possession en cours a été supprimée.</strong> |     <br><strong>Vous avez conjuré {{possession.system.typepossession}} ! La possession en cours a été supprimée.</strong> | ||||||
|     {{/if}} |     {{/if}} | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,5 +1,4 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{oeuvre.system.competence}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} {{#if rolled.isSuccess}}réalise{{else}}tente de cuisiner{{/if}} la recette : {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) |   {{alias}} {{#if rolled.isSuccess}}réalise{{else}}tente de cuisiner{{/if}} la recette : {{oeuvre.name}} (niveau {{oeuvre.system.niveau}}) | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "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}}"> | <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! |   {{alias}} tente de maîtriser un Rêve de Dragon! | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "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><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} |   {{alias}} {{#if isSortReserve}}met en réserve{{else}}lance{{/if}} | ||||||
|   le {{#if selectedSort.system.isrituel}}rituel{{else}}sort{{/if}} |   le {{#if selectedSort.system.isrituel}}rituel{{else}}sort{{/if}} | ||||||
|   {{selectedSort.name}} |   {{selectedSort.name}} | ||||||
| </h4> | </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}} | {{#if show.reveInsuffisant}} | ||||||
| <span>Pas assez de rêve!</span> | <span>Pas assez de rêve!</span> | ||||||
| {{/if}} | {{/if}} | ||||||
| </div> | </p> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   <span> |   <span> | ||||||
|     {{#if rolled.isETotal}}Echec TOTAL |     {{#if rolled.isETotal}}Echec TOTAL | ||||||
|     {{else if rolled.isEchec}}Echec |     {{else if rolled.isEchec}}Echec | ||||||
| @@ -22,8 +21,8 @@ | |||||||
|     {{else}}{{depenseReve}} points de rêve ont été dépensés |     {{else}}{{depenseReve}} points de rêve ont été dépensés | ||||||
|     {{~/if}}. |     {{~/if}}. | ||||||
|   </span> |   </span> | ||||||
| </div> | </p> | ||||||
| <hr> | <hr> | ||||||
| <div class="poesie-extrait poesie-overflow"> | <p class="poesie-extrait poesie-overflow"> | ||||||
|   {{{selectedSort.system.description}}} |   {{{selectedSort.system.description}}} | ||||||
| </div> | </p> | ||||||
|   | |||||||
| @@ -1,11 +1,10 @@ | |||||||
| <img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | <h4><img class="chat-icon" src="{{competence.img}}" data-tooltip="{{competence.name}}" /> | ||||||
| <h4> |  | ||||||
|   {{alias}} travaille à sa tâche {{tache.name}} |   {{alias}} travaille à sa tâche {{tache.name}} | ||||||
|   <br>{{selectedCarac.label}}/{{competence.name}} |   <br>{{selectedCarac.label}}/{{competence.name}} | ||||||
| </h4> | </h4> | ||||||
| {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | {{> "systems/foundryvtt-reve-de-dragon/templates/chat-infojet.hbs"}} | ||||||
| <hr> | <hr> | ||||||
| <div> | <p> | ||||||
|   {{alias}} a obtenu {{rolled.ptTache}} point{{~#unless (eq rolled.ptTache 1)}}s{{/unless}} de tâche, |   {{alias}} a obtenu {{rolled.ptTache}} point{{~#unless (eq rolled.ptTache 1)}}s{{/unless}} de tâche, | ||||||
|    son avancement est de |    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}} |    <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 (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~}} |   {{#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"}} |   {{> "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}}"> | <div class="post-item" data-transfer="{{transfer}}"> | ||||||
|   <h3>{{#if alias}}{{alias}} propose: {{else}}Acheter {{/if}}{{item.name}}</h3> |   <h4> | ||||||
|   {{#if item.img}} |     {{#if item.img}} | ||||||
|   <img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> |     <img class="chat-icon" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||||
|   {{/if}} |     {{/if}} | ||||||
|   <div class="poesie-extrait poesie-overflow card-content">{{{item.system.description}}}</div> |     {{#if alias}}{{alias}} propose: {{else}}Acheter {{/if}}{{item.name}}</h4> | ||||||
|  |   <p class="poesie-extrait poesie-overflow card-content">{{{item.system.description}}}</p> | ||||||
|   <p> |   <p> | ||||||
|     {{#each properties as |property p|}} |     {{#each properties as |property p|}} | ||||||
|     <span>{{{property}}}</span><br> |     <span>{{{property}}}</span><br> | ||||||
|   | |||||||
| @@ -24,20 +24,18 @@ | |||||||
|           <div class="flex-group-center flex-shrink"> |           <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> |             <h4>Le gardien gére les TMR du joueur, le joueur ne peut pas monter dans les TMR!</h4> | ||||||
|           </div> |           </div> | ||||||
|  |           <hr> | ||||||
|         {{/if}} |         {{/if}} | ||||||
|         <div class="flex-group-center flex-shrink"> |         <label class="flex-group-center" >Coordonnées : <span id="tmr-pos">0</span> </label> | ||||||
|           <img class="small-button-direction tmr-move" data-move="topleft" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-topleft.svg"> |         <div class="grid-move-tmr"> | ||||||
|           <img class="small-button-direction tmr-move" data-move="top" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-top.svg"> |           <img class="move-tmr-topleft 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="topright" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-topright.svg"> |           <img class="move-tmr-top tmr-move" data-move="top" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-top.svg"> | ||||||
|         </div> |           <img class="move-tmr-topright tmr-move" data-move="topright" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-topright.svg"> | ||||||
|         <div class="flex-group-center flex-shrink"> |           <img class="move-tmr-bottomleft tmr-move" data-move="bottomleft" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottomleft.svg">         | ||||||
|           <label>Coordonnées : </label><span id="tmr-pos">0</span> |           <img class="move-tmr-bottom tmr-move" data-move="bottom" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottom.svg"> | ||||||
|         </div> |           <img class="move-tmr-bottomright tmr-move" data-move="bottomright" src="systems/foundryvtt-reve-de-dragon/assets/ui/dir-bottomright.svg"> | ||||||
|         <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"> |  | ||||||
|         </div> |         </div> | ||||||
|  |         <hr> | ||||||
|         <div class="flex-group-center flex-shrink lire-signe-draconique"> |         <div class="flex-group-center flex-shrink lire-signe-draconique"> | ||||||
|           <a>Lire un signe draconique</a> |           <a>Lire un signe draconique</a> | ||||||
|         </div> |         </div> | ||||||
|   | |||||||
| @@ -36,9 +36,10 @@ | |||||||
|     </tr> |     </tr> | ||||||
|     {{#each gmAstrologie.ajustementsActors as |ajustementActeur|}} |     {{#each gmAstrologie.ajustementsActors as |ajustementActeur|}} | ||||||
|     <tr class="heure-naissance" data-heure-naissance="{{actor.system.heure}}"> |     <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}}" /> |         <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> |       </td> | ||||||
|       {{#each ajustementActeur.ajustements as |ajustement|}} |       {{#each ajustementActeur.ajustements as |ajustement|}} | ||||||
|       <td>{{#if (ne ajustement.ajustement 0)}} |       <td>{{#if (ne ajustement.ajustement 0)}} | ||||||
|   | |||||||
| @@ -1,18 +1,32 @@ | |||||||
| <div class="calendar-horloge"> | <div class="calendar-horloge"> | ||||||
| 	{{#if isGM}} | 	{{#if isGM}} | ||||||
| 		<div class="calendar-boutons-heure"> | 		<div class="calendar-boutons-heure"> | ||||||
| 			<i class="calendar-btn calendar-1min" data-calendar-avance="1" data-tooltip="Avancer de 1 minute">+1</i> | 			<a class="calendar-btn calendar-1min" data-calendar-avance="1" data-tooltip="Avancer de 1 minute"> | ||||||
| 			<i class="calendar-btn calendar-5min" data-calendar-avance="5" data-tooltip="Avancer de 5 minutes">+5</i> | 				<i>+1</i> | ||||||
| 			<i class="calendar-btn calendar-15min" data-calendar-avance="15" data-tooltip="Avancer de 15 minutes">+15</i> | 			</a> | ||||||
| 			<i class="calendar-btn calendar-30min" data-calendar-avance="30" data-tooltip="Avancer de 30 minutes">+30</i> | 			<a class="calendar-btn calendar-5min" data-calendar-avance="5" data-tooltip="Avancer de 5 minutes"> | ||||||
| 			<i class="calendar-btn calendar-60min" data-calendar-avance="60" data-tooltip="Avancer de 60 minutes" >+60</i> | 				<i>+5</i> | ||||||
| 			<i class="calendar-btn calendar-1heure" data-calendar-avance="120" data-tooltip="Avancer d'1 heure" >+1h</i> | 			</a> | ||||||
| 			<i class="calendar-btn calendar-lyre fas fa-forward" data-calendar-set="6" data-tooltip="Avancer à Lyre"> | 			<a class="calendar-btn calendar-15min" data-calendar-avance="15" data-tooltip="Avancer de 15 minutes"> | ||||||
| 				<img src="systems/foundryvtt-reve-de-dragon/icons/heures/hd07.svg" data-tooltip="Avancer à Lyre"/> | 				<i>+15</i> | ||||||
| 			</i> | 			</a> | ||||||
| 			<i class="calendar-btn calendar-vaisseau fas fa-forward" data-calendar-set="0" data-tooltip="Avancer au Vaisseau"> | 			<a class="calendar-btn calendar-30min" data-calendar-avance="30" data-tooltip="Avancer de 30 minutes"> | ||||||
| 				<img src="systems/foundryvtt-reve-de-dragon/icons/heures/hd01.svg" data-tooltip="Avancer au Vaisseau"/> | 				<i>+30</i> | ||||||
| 			</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> | 		</div> | ||||||
| 	{{/if}} | 	{{/if}} | ||||||
| 	<div class="horloge-digitale"> | 	<div class="horloge-digitale"> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user