90 lines
4.2 KiB
TypeScript
90 lines
4.2 KiB
TypeScript
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;
|