import { GMUpdateEvent, socketEvent } from "../helpers/socket.mjs"; export default class DhpCombat extends Combat { _sortCombatants(a, b) { if(a.isNPC !== b.isNPC){ const aVal = a.isNPC ? 0 : 1; const bVal = b.isNPC ? 0 : 1; return aVal - bVal; } return a.name.localeCompare(b.name); } async useActionToken(combatantId) { const automateActionPoints = await game.settings.get(SYSTEM.id, SYSTEM.SETTINGS.gameSettings.Automation.ActionPoints); if(game.user.isGM){ if(this.system.actions < 1) return; const update = automateActionPoints ? { "system.activeCombatant": combatantId, "system.actions": Math.max(this.system.actions-1, 0) } : { "system.activeCombatant": combatantId }; await this.update(update); } else { const update = automateActionPoints ? { "system.activeCombatant": combatantId, "system.actions": this.system.actions+1} : { "system.activeCombatant": combatantId }; await game.socket.emit(`system.${SYSTEM.id}`, { action: socketEvent.GMUpdate, data: { action: GMUpdateEvent.UpdateDocument, uuid: this.uuid, update: update } }); } } }