Compare commits

...

15 Commits

Author SHA1 Message Date
8d39a0526f Export scriptarium OK agfain
All checks were successful
Release Creation / build (release) Successful in 2m29s
2025-07-16 23:37:44 +02:00
f83548b91e Merge pull request 'Suppression de "rêve actuel" des caracs' (#765) from VincentVk/foundryvtt-reve-de-dragon:v13 into v13
All checks were successful
Release Creation / build (release) Successful in 2m6s
Reviewed-on: #765
2025-06-24 22:27:48 +02:00
90d17a3477 Suppression de "rêve actuel" des caracs
Cette ligne était parfois ajoutée aux caracs des personnages.
Ajout d'une migration pour nettoyage.
2025-06-23 22:20:00 +02:00
fb15f3eb38 Merge pull request 'Dimension des éditeurs prosemirror' (#764) from VincentVk/foundryvtt-reve-de-dragon:v13 into v13
Reviewed-on: #764
2025-06-23 16:28:13 +02:00
4df0eab574 Modification des messages de tchat 2025-06-23 02:04:15 +02:00
c8d589f0d2 Macro jet quelconque 2025-06-23 01:36:18 +02:00
d7470836a5 Boutons de déplacement dans les TMR 2025-06-23 01:35:55 +02:00
817fa8e62a Boutons de l'horloge 2025-06-22 23:55:08 +02:00
0fe4f64343 Ne pas proposer l'export csv par défaut 2025-06-22 16:43:27 +02:00
d6b5b0a550 Dimension des éditeurs prosemirror 2025-06-21 20:42:25 +02:00
c9d87851bd Merge pull request 'Corrections less/css v13' (#763) from VincentVk/foundryvtt-reve-de-dragon:v13 into v13
All checks were successful
Release Creation / build (release) Successful in 2m17s
Reviewed-on: #763
2025-06-10 20:45:15 +02:00
5b48fda3d0 Correction d'affichages lignes
Correction de plusieurs cas d'affichage en lignes qui étaient formatés
sur plusieurs lignes

- noms dans liste d'objets (et bouton des conteneurs)
- compétences de créatures sur une ligne
- acteur sur une ligne dans l'astrologie
- résultat de recherche
2025-06-10 01:22:25 +02:00
abae85157b Merge pull request 'v13' (#762) from VincentVk/foundryvtt-reve-de-dragon:v13 into v13
Reviewed-on: #762
2025-06-06 20:42:17 +02:00
da2dca1769 Fix: espaces description Grizzal 2025-06-06 00:35:41 +02:00
6e405ea753 Fix: on peut de nouveau acheter aux commerces 2025-06-06 00:34:58 +02:00
62 changed files with 428 additions and 340 deletions

View File

@@ -1,5 +1,26 @@
# 13.0 # 13.0
## 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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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,

View File

@@ -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()
});
}
} }

View File

@@ -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()
});
}
} }

View File

@@ -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() {

View File

@@ -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"
@@ -19,9 +20,8 @@ const _VENDRE = {
} }
const _ACHAT_SERVICE = { const _ACHAT_SERVICE = {
code: 'item-service-acheter', label: 'Acheter', icon: it => 'fa-regular fa-coins', code: 'item-service-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',

View File

@@ -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()
]; ];
} }

View File

@@ -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,

View File

@@ -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}`
} }

View File

@@ -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&ecirc;t, montagne, 300 kg, 600 sust.Surtout recherch&eacute; <p>Ours. For&ecirc;t, montagne, 300 kg, 600 sust. Surtout recherch&eacute;
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

View File

@@ -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

View File

@@ -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

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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>

View File

@@ -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}}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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|}}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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}}

View File

@@ -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>

View File

@@ -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"}}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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}}

View File

@@ -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>

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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>

View File

@@ -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}}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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}}

View File

@@ -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>

View File

@@ -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"}}

View File

@@ -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"}}

View File

@@ -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>

View File

@@ -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&acirc;che {{tache.name}} {{alias}} travaille à sa t&acirc;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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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)}}

View File

@@ -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">