import battlePrepUrl from '../../assets/audio/bgm/battle-prep.mp3'; import campFrontierUrl from '../../assets/audio/bgm/camp-frontier.mp3'; import campGrandStrategyUrl from '../../assets/audio/bgm/camp-grand-strategy.mp3'; import campRallyUrl from '../../assets/audio/bgm/camp-rally.mp3'; import campWayfarerUrl from '../../assets/audio/bgm/camp-wayfarer.mp3'; import militiaThemeUrl from '../../assets/audio/bgm/militia-theme.mp3'; import oathThemeUrl from '../../assets/audio/bgm/oath-theme.mp3'; import storyDarkUrl from '../../assets/audio/bgm/story-dark.mp3'; import titleThemeUrl from '../../assets/audio/bgm/title-theme.mp3'; import armorImpactUrl from '../../assets/audio/sfx/armor-impact.mp3'; import arrowBodyImpactUrl from '../../assets/audio/sfx/arrow-body-impact.mp3'; import arrowSwishUrl from '../../assets/audio/sfx/arrow-swish.mp3'; import arrowWoodImpactUrl from '../../assets/audio/sfx/arrow-wood-impact.mp3'; import bondResonanceUrl from '../../assets/audio/sfx/bond-resonance.wav'; import bowReleaseUrl from '../../assets/audio/sfx/bow-release.mp3'; import cartRollUrl from '../../assets/audio/sfx/cart-roll.mp3'; import combatImpactUrl from '../../assets/audio/sfx/combat-impact.mp3'; import criticalBoomUrl from '../../assets/audio/sfx/critical-boom.mp3'; import criticalImpactUrl from '../../assets/audio/sfx/critical-impact.mp3'; import defeatStingUrl from '../../assets/audio/sfx/defeat-sting.wav'; import expGainUrl from '../../assets/audio/sfx/exp-gain.mp3'; import footstepWalkUrl from '../../assets/audio/sfx/footstep-walk.mp3'; import horseGallopUrl from '../../assets/audio/sfx/horse-gallop.mp3'; import levelUpUrl from '../../assets/audio/sfx/level-up.wav'; import shieldBlockUrl from '../../assets/audio/sfx/shield-block.mp3'; import strategyCastUrl from '../../assets/audio/sfx/strategy-cast.mp3'; import swordSlashUrl from '../../assets/audio/sfx/sword-slash.mp3'; import swordSwingVariantUrl from '../../assets/audio/sfx/sword-swing-variant.mp3'; import uiSelectUrl from '../../assets/audio/sfx/ui-select.mp3'; import victoryFanfareUrl from '../../assets/audio/sfx/victory-fanfare.wav'; import campfireAmbienceUrl from '../../assets/audio/ambience/campfire-ambience.mp3'; import mountainWindAmbienceUrl from '../../assets/audio/ambience/mountain-wind-ambience.mp3'; import nanzhongNightAmbienceUrl from '../../assets/audio/ambience/nanzhong-night-ambience.mp3'; import riverNightAmbienceUrl from '../../assets/audio/ambience/river-night-ambience.mp3'; export const musicTracks = { 'title-theme': titleThemeUrl, 'story-dark': storyDarkUrl, 'oath-theme': oathThemeUrl, 'militia-theme': militiaThemeUrl, 'battle-prep': battlePrepUrl, 'camp-rally': campRallyUrl, 'camp-wayfarer': campWayfarerUrl, 'camp-grand-strategy': campGrandStrategyUrl, 'camp-frontier': campFrontierUrl } as const; export const ambienceTracks = { 'campfire-ambience': campfireAmbienceUrl, 'river-night-ambience': riverNightAmbienceUrl, 'mountain-wind-ambience': mountainWindAmbienceUrl, 'nanzhong-night-ambience': nanzhongNightAmbienceUrl } as const; export const effectTracks = { 'ui-select': uiSelectUrl, 'sword-slash': swordSlashUrl, 'sword-swing-variant': swordSwingVariantUrl, 'combat-impact': combatImpactUrl, 'armor-impact': armorImpactUrl, 'shield-block': shieldBlockUrl, 'bow-release': bowReleaseUrl, 'arrow-swish': arrowSwishUrl, 'arrow-body-impact': arrowBodyImpactUrl, 'arrow-wood-impact': arrowWoodImpactUrl, 'critical-impact': criticalImpactUrl, 'critical-boom': criticalBoomUrl, 'strategy-cast': strategyCastUrl, 'cart-roll': cartRollUrl, 'exp-gain': expGainUrl, 'level-up': levelUpUrl, 'bond-resonance': bondResonanceUrl, 'victory-fanfare': victoryFanfareUrl, 'defeat-sting': defeatStingUrl, 'footstep-walk': footstepWalkUrl, 'horse-gallop': horseGallopUrl } as const; export const effectPools = { 'melee-swing': ['sword-slash', 'sword-swing-variant'], 'melee-impact': ['combat-impact', 'armor-impact', 'shield-block'], 'arrow-impact': ['arrow-body-impact', 'arrow-wood-impact'], 'arrow-miss': ['arrow-swish'] } as const; export type MusicTrackKey = keyof typeof musicTracks; export type AmbienceTrackKey = keyof typeof ambienceTracks; export type EffectTrackKey = keyof typeof effectTracks; export type EffectPoolKey = keyof typeof effectPools;