diff --git a/changelog.md b/changelog.md
index 10cf4147..f130d0ed 100644
--- a/changelog.md
+++ b/changelog.md
@@ -14,6 +14,7 @@
- la fenêtre de jet pour les jets depuis un lien texte
- affichage des ajustements dans la fenêtre d'attaque avec arme à distance
- gestion des défenses contre les armes à distance
+ - attaque depuis l'onglet combat de la feuille de personnage, sans token sélectionné
- défense contre possession
- correction du mode "méditation" quand le haut-rêvant ne connait pas de méditation
- correction du mode "jeu" quand le personnage ne connait pas de jeux
diff --git a/module/combat/distance.mjs b/module/combat/distance.mjs
index 0c72cc7c..d0ee26f7 100644
--- a/module/combat/distance.mjs
+++ b/module/combat/distance.mjs
@@ -36,7 +36,7 @@ export class Distance {
}
static distance(token, defenderToken) {
- if (token && defenderToken) {
+ if (token instanceof Token && defenderToken instanceof Token) {
const ray = new foundry.canvas.geometry.Ray(
token.getCenterPoint(),
defenderToken.getCenterPoint()
@@ -48,7 +48,7 @@ export class Distance {
static isVisible(token, defenderToken) {
// TODO: regarder les StatusEffect aveuglé?
- if (token && defenderToken) {
+ if (token instanceof Token && defenderToken instanceof Token) {
return canvas.effects.visibility.testVisibility(defenderToken.getCenterPoint(), { object: token })
}
return true
@@ -79,7 +79,7 @@ export class Distance {
}
static ajustementMouvement(defenderToken) {
- if (defenderToken) {
+ if (defenderToken instanceof Token) {
if (defenderToken.actor?.getSurprise(true) != '') return { msg: "immobile (surprise)", diff: 0 };
if (defenderToken.inCombat) return { msg: "en mouvement (combat)", diff: -4 };
}
diff --git a/templates/roll/roll-part-attaque.hbs b/templates/roll/roll-part-attaque.hbs
index eb5648dd..b47f3bd6 100644
--- a/templates/roll/roll-part-attaque.hbs
+++ b/templates/roll/roll-part-attaque.hbs
@@ -64,21 +64,23 @@
{{/if}}
{{#if current.distance}}
+
Attaque à distance {{current.main}} difficulté proposée de {{current.distance.total}} à valider par le Gardien
+
- - La cible est à une distance indicative de {{numberFormat current.distance.distance decimals=1}} mètres.
- - Avec les murs et la lumière, la cible
- {{#if current.distance.isVisible}}est{{else}}n'est pas{{/if}} visible.
-
- - Portée {{current.distance.portee.msg}} : {{current.distance.portee.diff}}
- - De taille {{current.distance.taille.msg}}: {{current.distance.taille.diff}}
- - Mouvement {{current.distance.activite.msg}}: {{current.distance.activite.diff}}
-
+ Avec les murs et la lumière, la cible
+ {{#if current.distance.isVisible}}est{{else}}n'est pas{{/if}} visible.
+
+ La cible est à une distance {{#if (lt current.distance.distance 0)}}indéterminée{{else}}indicative de {{numberFormat current.distance.distance decimals=1}} mètres{{/if}}.
+ Portée {{current.distance.portee.msg}} : {{current.distance.portee.diff}}
+ Taille {{current.distance.taille.msg}}: {{current.distance.taille.diff}}
+ Mouvement {{current.distance.activite.msg}}: {{current.distance.activite.diff}}
+
{{/if}}
\ No newline at end of file