diff --git a/module/data/_module.mjs b/module/data/_module.mjs index 74b8b5dd..dfd69ad2 100644 --- a/module/data/_module.mjs +++ b/module/data/_module.mjs @@ -17,6 +17,3 @@ export { default as DhpAdversaryRoll } from './adversaryRoll.mjs'; export { default as DhpDamageRoll } from './damageRoll.mjs'; export { default as DhpAbilityUse } from './abilityUse.mjs'; export { default as DhpEnvironment } from './environment.mjs'; - -export * as items from './item/_module.mjs'; -export * as messages from './chat-message/_modules.mjs'; diff --git a/module/data/combat.mjs b/module/data/combat.mjs index 60936003..e0490286 100644 --- a/module/data/combat.mjs +++ b/module/data/combat.mjs @@ -1,9 +1,6 @@ export default class DhCombat extends foundry.abstract.TypeDataModel { static defineSchema() { const fields = foundry.data.fields; - return { - actions: new fields.NumberField({ initial: 0, integer: true }), - started: new fields.BooleanField({ required: true, initial: false }) - }; + return {}; } } diff --git a/module/data/combatant.mjs b/module/data/combatant.mjs index 955087de..cae5d08f 100644 --- a/module/data/combatant.mjs +++ b/module/data/combatant.mjs @@ -3,8 +3,7 @@ export default class DhCombatant extends foundry.abstract.TypeDataModel { const fields = foundry.data.fields; return { spotlight: new fields.SchemaField({ - requesting: new fields.BooleanField({ required: true, initial: false }), - active: new fields.BooleanField({ required: true, initial: false }) + requesting: new fields.BooleanField({ required: true, initial: false }) }), actionTokens: new fields.NumberField({ required: true, integer: true, initial: 3 }) }; diff --git a/module/documents/combat.mjs b/module/documents/combat.mjs index a639f502..3ad3189e 100644 --- a/module/documents/combat.mjs +++ b/module/documents/combat.mjs @@ -1,11 +1,7 @@ export default class DhpCombat extends Combat { - get combatant() { - return this.combatants.contents.find(x => x.system.spotlight.active) ?? null; - } - async startCombat() { this._playCombatSound('startEncounter'); - const updateData = { 'system.started': true }; + const updateData = { round: 1, turn: null }; Hooks.callAll('combatStart', this, updateData); await this.update(updateData); return this; diff --git a/module/ui/combatTracker.mjs b/module/ui/combatTracker.mjs index e07ff327..948f2f18 100644 --- a/module/ui/combatTracker.mjs +++ b/module/ui/combatTracker.mjs @@ -71,16 +71,15 @@ export default class DhCombatTracker extends foundry.applications.sidebar.tabs.C static async toggleSpotlight(_, target) { const { combatantId } = target.closest('[data-combatant-id]')?.dataset ?? {}; - for (var combatant of this.viewed.combatants) { - const giveSpotlight = combatant.id === combatantId; + const combatant = this.viewed.combatants.get(combatantId); - await combatant.update({ - 'system.spotlight': { - requesting: giveSpotlight ? false : combatant.system.spotlight.requesting, - active: giveSpotlight ? !combatant.system.spotlight.active : false - } - }); - } + const toggleTurn = this.viewed.combatants.contents + .sort(this.viewed._sortCombatants) + .map(x => x.id) + .indexOf(combatantId); + + await this.viewed.update({ turn: this.viewed.turn === toggleTurn ? null : toggleTurn }); + await combatant.update({ 'system.spotlight.requesting': false }); } static async setActionTokens(_, target) { diff --git a/templates/ui/combat/combatTracker.hbs b/templates/ui/combat/combatTracker.hbs index c26392d6..4243193d 100644 --- a/templates/ui/combat/combatTracker.hbs +++ b/templates/ui/combat/combatTracker.hbs @@ -41,7 +41,7 @@ {{/if}} - {{#if ../combat.system.started}} + {{#if ../combat.round}}
{{#if isOwner}} {{#if (and (not isNPC) ../actionTokens.enabled)}} diff --git a/templates/ui/combat/combatTrackerFooter.hbs b/templates/ui/combat/combatTrackerFooter.hbs index 72680508..4bb9bb10 100644 --- a/templates/ui/combat/combatTrackerFooter.hbs +++ b/templates/ui/combat/combatTrackerFooter.hbs @@ -1,7 +1,7 @@