Ajout affichage distance
This commit is contained in:
@ -688,10 +688,22 @@ export class RdDCombat {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
verifierDistance( competence, arme) {
|
||||
if ( competence.system.categorie == "tir" ) {
|
||||
// TODO - ONGOING
|
||||
|
||||
verifierDistance( rollData ) {
|
||||
if ( rollData.competence.system.categorie == "tir" ||
|
||||
rollData.competence.system.categorie == "lancer" ) {
|
||||
const defenderToken = canvas.tokens.get(this.defenderTokenId)
|
||||
let dist = canvas.grid.measureDistances([{ ray: new Ray(_token.center, defenderToken.center) }], { gridSpaces: false })
|
||||
dist = Number(dist).toPrecision(5)
|
||||
//let ray = new Ray( {x: _token.x, y: _token.y}, {x: defenderToken.x, y:defenderToken.y} )
|
||||
let msgPortee = "portée est courte (0)"
|
||||
if (dist > rollData.arme.system.portee_courte && dist <= rollData.arme.system.portee_moyenne) {
|
||||
msgPortee = "portée est moyenne (-3)"
|
||||
} else if (dist > rollData.arme.system.portee_moyenne && dist <= rollData.arme.system.portee_extreme) {
|
||||
msgPortee = "portée est extrême (-5)"
|
||||
} else if ( dist > rollData.arme.system.portee_extreme) {
|
||||
msgPortee = "cible est inateignable"
|
||||
}
|
||||
ChatMessage.create( { content: `<strong>Indication MJ</strong> : La cible est à une distance indicative de : ${dist} mètres. Pour l'arme ${rollData.arme.name}, la ${msgPortee}.`, whisper: ChatMessage.getWhisperRecipients("GM") } )
|
||||
}
|
||||
}
|
||||
|
||||
@ -717,7 +729,7 @@ export class RdDCombat {
|
||||
if (arme) {
|
||||
this.attacker.verifierForceMin(arme);
|
||||
}
|
||||
this.verifierDistance(competence, arme)
|
||||
this.verifierDistance(rollData)
|
||||
|
||||
const dialog = await RdDRoll.create(this.attacker, rollData,
|
||||
{
|
||||
|
Reference in New Issue
Block a user