From 6fc8906d67c9140d63726282b96018b73ef1ae8d Mon Sep 17 00:00:00 2001 From: Vincent Vandemeulebrouck Date: Fri, 16 Apr 2021 22:18:36 +0200 Subject: [PATCH] Fix initiative 0.8.x --- module/rdd-combat.js | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/module/rdd-combat.js b/module/rdd-combat.js index 4b78d9c5..6d1137d7 100644 --- a/module/rdd-combat.js +++ b/module/rdd-combat.js @@ -75,36 +75,36 @@ export class RdDCombatManager extends Combat { const currentId = this.combatant._id; // calculate initiative for (let cId = 0; cId < ids.length; cId++) { - const c = this.getCombatant(ids[cId]); + const combatant = this.getCombatant(ids[cId]); //if (!c) return results; let rollFormula = formula; // Init per default if (!rollFormula) { let armeCombat, competence; - if (c.actor.data.type == 'creature' || c.actor.data.type == 'entite') { - for (const competenceItemData of c.actor.data.items) { + if (combatant.actor.data.type == 'creature' || combatant.actor.data.type == 'entite') { + for (const competenceItemData of combatant.actor.data.items) { if (competenceItemData.data.iscombat) { competence = duplicate(competenceItemData); } } rollFormula = "2+( (" + RdDCombatManager.calculInitiative(competence.data.niveau, competence.data.carac_value) + ")/100)"; } else { - for (const itemData of c.actor.data.items) { + for (const itemData of combatant.actor.data.items) { if (itemData.type == "arme" && itemData.data.equipe) { armeCombat = duplicate(itemData); } } let compName = (armeCombat == undefined) ? "Corps à corps" : armeCombat.data.competence; - competence = RdDItemCompetence.findCompetence(c.actor.data.items, compName); + competence = RdDItemCompetence.findCompetence(combatant.actor.data.items, compName); let bonusEcaille = (armeCombat && armeCombat.data.magique) ? armeCombat.data.ecaille_efficacite : 0; - rollFormula = "2+( (" + RdDCombatManager.calculInitiative(competence.data.niveau, Misc.data(c.actor).data.carac[competence.data.defaut_carac].value, bonusEcaille) + ")/100)"; + rollFormula = "2+( (" + RdDCombatManager.calculInitiative(competence.data.niveau, Misc.data(combatant.actor).data.carac[competence.data.defaut_carac].value, bonusEcaille) + ")/100)"; } } //console.log("Combatat", c); - const roll = super._getInitiativeRoll(c, rollFormula); + const roll = combatant.getInitiativeRoll(rollFormula); if (roll.total <= 0) roll.total = 0.00; console.log("Compute init for", rollFormula, roll.total); - await this.updateEmbeddedDocuments("Combatant", [{ _id: c._id, initiative: roll.total }]); + await this.updateEmbeddedDocuments("Combatant", [{ _id: combatant._id, initiative: roll.total }]); // Send a chat message let rollMode = messageOptions.rollMode || game.settings.get("core", "rollMode"); @@ -112,12 +112,12 @@ export class RdDCombatManager extends Combat { { speaker: { scene: canvas.scene._id, - actor: c.actor ? c.actor._id : null, - token: c.token._id, - alias: c.token.name, + actor: combatant.actor ? combatant.actor._id : null, + token: combatant.token._id, + alias: combatant.token.name, sound: CONFIG.sounds.dice, }, - flavor: `${c.token.name} a fait son jet d'Initiative (${messageOptions.initInfo}) + flavor: `${combatant.token.name} a fait son jet d'Initiative (${messageOptions.initInfo})
`, }, @@ -266,7 +266,7 @@ export class RdDCombatManager extends Combat { let initOffset = 0; let caracForInit = 0; let compNiveau = 0; - let competence = { name: "Aucune" }; + let compData = { name: "Aucune" }; if (combatant.actor.getSurprise() == "totale") { initOffset = -1; // To force 0 initInfo = "Surprise Totale" @@ -281,24 +281,24 @@ export class RdDCombatManager extends Combat { initInfo = "Draconic" } else { initOffset = 3; // Melée = 3.XX - competence = RdDItemCompetence.findCompetence(combatant.actor.data.items, arme.data.competence); - compNiveau = competence.data.niveau; + compData = Misc.data(RdDItemCompetence.findCompetence(combatant.actor.data.items, arme.data.competence)); + compNiveau = compData.data.niveau; initInfo = arme.name + " / " + arme.data.competence; if (combatant.actor.data.type == 'creature' || combatant.actor.data.type == 'entite') { - caracForInit = competence.data.carac_value; - if (competence.data.categorie == "lancer") { + caracForInit = compData.data.carac_value; + if (compData.data.categorie == "lancer") { initOffset = 5; } } else { - caracForInit = Misc.data(combatant.actor).data.carac[competence.data.defaut_carac].value; - if (competence.data.categorie == "lancer") { // Offset de principe pour les armes de jet + caracForInit = Misc.data(combatant.actor).data.carac[compData.data.defaut_carac].value; + if (compData.data.categorie == "lancer") { // Offset de principe pour les armes de jet initOffset = 4; } - if (competence.data.categorie == "tir") { // Offset de principe pour les armes de jet + if (compData.data.categorie == "tir") { // Offset de principe pour les armes de jet initOffset = 5; } - if (competence.data.categorie == "melee") { // Offset de principe pour les armes de jet + if (compData.data.categorie == "melee") { // Offset de principe pour les armes de jet initOffset = 3; } }