Changement cacul init

This commit is contained in:
2021-01-13 11:35:36 +01:00
parent 8c7ddc6f65
commit a8b38cc5b8
2 changed files with 29 additions and 19 deletions

View File

@ -649,32 +649,42 @@ export class RdDUtility {
static rollInitiativeCompetence(combatantId, arme) {
const combatant = game.combat.getCombatant(combatantId);
const actor = combatant.actor;
if (arme.name == "Autre action") {
game.combat.rollInitiative(combatantId, "1d6");
let initOffset = 0;
let caracForInit = 0;
let compNiveau = 0;
if ( actor.getSurprise() == "totale") {
initOffset = -1; // To force 0
} else if ( actor.getSurprise() == "demi") {
initOffset = 0;
} else if (arme.name == "Autre action") {
initOffset = 2;
} else if (arme.name == "Draconic") {
game.combat.rollInitiative(combatantId, "1d6+200");
initOffset = 7;
} else {
let initOffset = 0;
let caracForInit = 0;
initOffset = 2; // Melée = 3.XX
let competence = RdDItemCompetence.findCompetence(combatant.actor.data.items, arme.data.competence);
compNiveau = competence.data.niveau;
if (actor.data.type == 'creature' || actor.data.type == 'entite') {
caracForInit = competence.data.carac_value;
} else {
caracForInit = actor.data.data.carac[competence.data.defaut_carac].value;
if (competence.data.categorie == "lancer") { // Offset de principe pour les armes de jet
initOffset = 40;
initOffset = 4;
}
if (competence.data.categorie == "tir") { // Offset de principe pour les armes de jet
initOffset = 80;
initOffset = 5;
}
if (competence.data.categorie == "melee") { // Offset de principe pour les armes de jet
initOffset = 3;
}
}
initOffset -= actor.getEtatGeneral(); // Prise en compte état général
// Cas des créatures et entités vs personnages
let rollFormula = RdDUtility.calculInitiative(competence.data.niveau, caracForInit) + "+" + initOffset;
game.combat.rollInitiative(combatantId, rollFormula);
}
let malus = actor.getEtatGeneral(); // Prise en compte état général
// Cas des créatures et entités vs personnages
let rollFormula = initOffset + "+ ( (" + RdDUtility.calculInitiative(compNiveau, caracForInit) + " + " + malus + ") /100)";
game.combat.rollInitiative(combatantId, rollFormula);
}
/* -------------------------------------------- */