import { log, loadCompendiumData, loadCompendium, pushCombatOptions, setHookListeners, registerHandlebarsHelpers, getLethargyDice } from "./utils/helpers.mjs"
import { hasD30Reroll, processD30BonusDice, _rollD30BonusDie, _buildSpecialName } from "./utils/d30.mjs"
import { handleSocketEvent, handleAttackerGritOffer, handleAttackBoosted, showDefenseRequest, compareAttackDefense, applyDamage, offerAttackerGritBonus, getCombatBonusDiceChoices, getShieldReactionData, buildDefenseReactionButtons, promptCombatBonusDie, promptAdHocShield, rollBonusDie, rerollConfiguredRoll } from "./utils/combat.mjs"

export { log }

export default class LethalFantasyUtils {
  static loadCompendiumData = loadCompendiumData
  static loadCompendium = loadCompendium
  static pushCombatOptions = pushCombatOptions
  static setHookListeners = setHookListeners
  static registerHandlebarsHelpers = registerHandlebarsHelpers
  static getLethargyDice = getLethargyDice
  static hasD30Reroll = hasD30Reroll
  static processD30BonusDice = processD30BonusDice
  static _rollD30BonusDie = _rollD30BonusDie
  static _buildSpecialName = _buildSpecialName
  static handleSocketEvent = handleSocketEvent
  static handleAttackerGritOffer = handleAttackerGritOffer
  static handleAttackBoosted = handleAttackBoosted
  static showDefenseRequest = showDefenseRequest
  static compareAttackDefense = compareAttackDefense
  static applyDamage = applyDamage
  static offerAttackerGritBonus = offerAttackerGritBonus
  static getCombatBonusDiceChoices = getCombatBonusDiceChoices
  static getShieldReactionData = getShieldReactionData
  static buildDefenseReactionButtons = buildDefenseReactionButtons
  static promptCombatBonusDie = promptCombatBonusDie
  static promptAdHocShield = promptAdHocShield
  static rollBonusDie = rollBonusDie
  static rerollConfiguredRoll = rerollConfiguredRoll
}
