Allow the Combat tracker to roll intiative using a custom formula

This commit is contained in:
Oliver 2026-01-20 23:16:45 -07:00
parent deedda7648
commit 116eb216d0
4 changed files with 25 additions and 0 deletions

View file

@ -0,0 +1,9 @@
import { __ID__ } from "../consts.mjs";
const { Combatant } = foundry.documents;
export class TAFCombatant extends Combatant {
_getInitiativeFormula() {
return game.settings.get(__ID__, `initiativeFormula`);
};
};

View file

@ -7,6 +7,7 @@ import { PlayerData } from "../data/Player.mjs";
// Documents
import { TAFActor } from "../documents/Actor.mjs";
import { TAFCombatant } from "../documents/Combatant.mjs";
import { TAFItem } from "../documents/Item.mjs";
import { TAFTokenDocument } from "../documents/Token.mjs";
@ -25,6 +26,7 @@ Hooks.on(`init`, () => {
CONFIG.Token.documentClass = TAFTokenDocument;
CONFIG.Actor.documentClass = TAFActor;
CONFIG.Combatant.documentClass = TAFCombatant;
CONFIG.Actor.dataModels.player = PlayerData;

View file

@ -3,6 +3,16 @@ import { __ID__ } from "../consts.mjs";
const { NumberField, StringField } = foundry.data.fields;
export function registerWorldSettings() {
game.settings.register(__ID__, `initiativeFormula`, {
name: `taf.settings.initiativeFormula.name`,
hint: `taf.settings.initiativeFormula.hint`,
config: true,
type: String,
default: `1d20`,
scope: `world`,
});
game.settings.register(__ID__, `canPlayersManageAttributes`, {
name: `taf.settings.canPlayersManageAttributes.name`,
hint: `taf.settings.canPlayersManageAttributes.hint`,