ENH: Reset initiative option
parent
ade4cd7d40
commit
002e97988a
|
@ -162,7 +162,8 @@
|
|||
"OSE.Setting.Initiative": "Initiative",
|
||||
"OSE.Setting.InitiativeHint": "Grouped or individual initiative. Unique individual is only rolled at the start of the combat",
|
||||
"OSE.Setting.InitiativeOnce": "Unique individual Initiative",
|
||||
"OSE.Setting.InitiativeReroll": "Individual Initiative per Round",
|
||||
"OSE.Setting.InitiativeReroll": "Roll individual Initiative each Round",
|
||||
"OSE.Setting.InitiativeReset": "Reset individual Initiative each Round",
|
||||
"OSE.Setting.InitiativeGroup": "Grouped Initiative",
|
||||
"OSE.Setting.AscendingAC": "Ascending Armor Class",
|
||||
"OSE.Setting.AscendingACHint": "The more the better",
|
||||
|
|
|
@ -162,7 +162,8 @@
|
|||
"OSE.Setting.Initiative": "Initiative",
|
||||
"OSE.Setting.InitiativeHint": "Initiative groupée ou individuelle. L'initiative unique est tirée une seule fois en début de combat.",
|
||||
"OSE.Setting.InitiativeOnce": "Initiative unique individuelle",
|
||||
"OSE.Setting.InitiativeReroll": "Initiative individuelle",
|
||||
"OSE.Setting.InitiativeReroll": "Initiative relancée chaque tour",
|
||||
"OSE.Setting.InitiativeReset": "Initiative mise à zéro chaque tour",
|
||||
"OSE.Setting.InitiativeGroup": "Initiative groupée",
|
||||
"OSE.Setting.AscendingAC": "Classe d'Armure Ascendante",
|
||||
"OSE.Setting.AscendingACHint": "Le plus est le mieux",
|
||||
|
|
|
@ -31,6 +31,14 @@ export class OseCombat {
|
|||
}
|
||||
}
|
||||
|
||||
static async resetInitiative(combat, data) {
|
||||
let updates = [];
|
||||
combat.data.combatants.forEach((c, i) => {
|
||||
updates.push({_id: c._id, initiative: ""});
|
||||
});
|
||||
await combat.updateEmbeddedEntity("Combatant", updates);
|
||||
}
|
||||
|
||||
static async individualInitiative(combat, data) {
|
||||
let updates = [];
|
||||
let messages = [];
|
||||
|
@ -43,7 +51,7 @@ export class OseCombat {
|
|||
if (combat.settings.skipDefeated && c.defeated) {
|
||||
value = -790;
|
||||
}
|
||||
updates.push({ _id: c._id, initiative: value });
|
||||
updates.push({ _id: c._id, initiative: "value" });
|
||||
|
||||
// Determine the roll mode
|
||||
let rollMode = game.settings.get("core", "rollMode");
|
||||
|
|
|
@ -10,6 +10,7 @@ export const registerSettings = function () {
|
|||
choices: {
|
||||
disabled: "OSE.Setting.InitiativeOnce",
|
||||
rerolled: "OSE.Setting.InitiativeReroll",
|
||||
reset: "OSE.Setting.InitiativeReset",
|
||||
group: "OSE.Setting.InitiativeGroup",
|
||||
},
|
||||
onChange: _ => window.location.reload()
|
||||
|
|
|
@ -128,10 +128,12 @@ Hooks.on("preUpdateCombat", async (combat, data, diff, id) => {
|
|||
if (!data.round) {
|
||||
return;
|
||||
}
|
||||
if (init == "group") {
|
||||
if (init === "group") {
|
||||
OseCombat.rollInitiative(combat, data, diff, id);
|
||||
} else if (init == "rerolled") {
|
||||
} else if (init === "rerolled") {
|
||||
OseCombat.individualInitiative(combat, data, diff, id);
|
||||
} else if (init === "reset") {
|
||||
OseCombat.resetInitiative(combat, data, diff, id);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue