Add initiative rolls

This commit is contained in:
2026-03-18 16:51:10 +01:00
parent 000bf348a6
commit b2befe039e
30 changed files with 512 additions and 144 deletions

View File

@@ -1,4 +1,5 @@
import OathHammerActorSheet from "./base-actor-sheet.mjs"
import { rollInitiativeCheck } from "../../rolls.mjs"
export default class OathHammerNPCSheet extends OathHammerActorSheet {
/** @override */
@@ -11,6 +12,9 @@ export default class OathHammerNPCSheet extends OathHammerActorSheet {
window: {
contentClasses: ["npc-content"],
},
actions: {
rollInitiative: OathHammerNPCSheet.#onRollInitiative,
},
}
/** @override */
@@ -62,6 +66,7 @@ export default class OathHammerNPCSheet extends OathHammerActorSheet {
case "combat":
context.tab = context.tabs.combat
context.weapons = doc.itemTypes.weapon
context.combatantInitiative = game.combat?.combatants.find(c => c.actor?.id === doc.id)?.initiative ?? null
break
case "notes":
context.tab = context.tabs.notes
@@ -80,4 +85,14 @@ export default class OathHammerNPCSheet extends OathHammerActorSheet {
return this._onDropItem(item)
}
}
static async #onRollInitiative() {
const actor = this.document
const combatant = game.combat?.combatants.find(c => c.actor?.id === actor.id)
if (combatant) {
await game.combat.rollInitiative([combatant.id])
} else {
await rollInitiativeCheck(actor)
}
}
}