forked from public/foundryvtt-reve-de-dragon
Changement cacul init
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
Reference in New Issue
Block a user