forked from GitHub-Mirrors/foundry-sw5e

DND5e Core 1.3.5 modded to SW5e System Combining with DND5e Core 1.3.2 to see one big commit since last core update DND5e Core 1.3.2 modded to SW5e System
27 lines
1 KiB
JavaScript
27 lines
1 KiB
JavaScript
|
|
/**
|
|
* Override the default Initiative formula to customize special behaviors of the system.
|
|
* Apply advantage, proficiency, or bonuses where appropriate
|
|
* Apply the dexterity score as a decimal tiebreaker if requested
|
|
* See Combat._getInitiativeFormula for more detail.
|
|
*/
|
|
export const _getInitiativeFormula = function() {
|
|
const actor = this.actor;
|
|
if ( !actor ) return "1d20";
|
|
const init = actor.data.data.attributes.init;
|
|
|
|
// Construct initiative formula parts
|
|
let nd = 1;
|
|
let mods = "";
|
|
if (actor.getFlag("sw5e", "halflingLucky")) mods += "r1=1";
|
|
if (actor.getFlag("sw5e", "initiativeAdv")) {
|
|
nd = 2;
|
|
mods += "kh";
|
|
}
|
|
const parts = [`${nd}d20${mods}`, init.mod, (init.prof !== 0) ? init.prof : null, (init.bonus !== 0) ? init.bonus : null];
|
|
|
|
// Optionally apply Dexterity tiebreaker
|
|
const tiebreaker = game.settings.get("sw5e", "initiativeDexTiebreaker");
|
|
if ( tiebreaker ) parts.push(actor.data.data.abilities.dex.value / 100);
|
|
return parts.filter(p => p !== null).join(" + ");
|
|
};
|