Continue fight tests

This commit is contained in:
2020-06-10 08:23:58 +02:00
parent e848406ccb
commit 39ecd5231e
715 changed files with 107 additions and 42 deletions

View File

@ -376,6 +376,38 @@ export class RdDUtility {
}
}
/* -------------------------------------------- */
static isArmeMelee( compName)
{
let comp = compName.toLowerCase();
if (comp.match("epée") || comp.match("hache") || comp.match("fleau") || comp.match("mass") || comp.match("lance") || comp.match("hast") || comp == "dague" || comp=="bouclier")
return true;
return false;
}
/* -------------------------------------------- */
static buildDefenseChatCard( attacker, target, rollData )
{
console.log("Target", target);
let defenseMsg = { title: "Défense en combat",
content: "Action de défense en combat!<br><span class='chat-card-button-area'>" +
"<a class='chat-card-button' id='encaisser-button' data-attackerid='"+attacker.data._id + "' data-defenderid='" + target.actor.data._id + "'>Encaisser !</a></span>",
whisper: ChatMessage.getWhisperRecipients(target.actor.data.name) };
if ( rollData.competence.data.categorie == "melee" ) { // Melee attack
let defenderArmes = [];
for (const arme of target.actor.data.items) {
if (arme.type == "arme" && isArmeMelee(arme.data.competence)) {
defenderArmes.push( arme );
defenseMsg.content += "<a class='chat-card-button' id='parer-button' data-attackerid='"+attacker.data._id + "' data-defenderid='" + target.actor.data._id + " data-armeid='"+arme._id+"'>Parer avec " + arme.name + "</a></span>";
}
}
}
// TODO - Tir + Lancer
return defenseMsg;
}
/* -------------------------------------------- */
static async chatListeners( html )
{
@ -386,6 +418,16 @@ export class RdDUtility {
let defenderActor = game.actors.get(event.currentTarget.attributes['data-defenderid'].value );
defenderActor.encaisserDommages( attackerActor);
});
html.on("click", '#parer-button', event => {
event.preventDefault();
console.log("Parer button", event);
let attackerActor = game.actors.get(event.currentTarget.attributes['data-attackerid'].value );
let defenderActor = game.actors.get(event.currentTarget.attributes['data-defenderid'].value );
let armeId = event.currentTarget.attributes['data-armeid'].value;
defenderActor.parerAttaque( attackerActor, armeId);
});
}
}