Files
heros_web/src/game/audio/audioAssets.ts

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;