diff --git a/public/audio/bgm/abyss.mp3 b/public/audio/bgm/abyss.mp3 index fadb0a5bfca..3347d89d7e5 100644 Binary files a/public/audio/bgm/abyss.mp3 and b/public/audio/bgm/abyss.mp3 differ diff --git a/public/audio/bgm/beach.mp3 b/public/audio/bgm/beach.mp3 index aab924c79ee..a22386a9dc3 100644 Binary files a/public/audio/bgm/beach.mp3 and b/public/audio/bgm/beach.mp3 differ diff --git a/public/audio/bgm/cave.mp3 b/public/audio/bgm/cave.mp3 index 836229ef20c..f27d110d341 100644 Binary files a/public/audio/bgm/cave.mp3 and b/public/audio/bgm/cave.mp3 differ diff --git a/public/audio/bgm/city.mp3 b/public/audio/bgm/city.mp3 index 0a4186afedc..2df06608e64 100644 Binary files a/public/audio/bgm/city.mp3 and b/public/audio/bgm/city.mp3 differ diff --git a/public/audio/bgm/desert.mp3 b/public/audio/bgm/desert.mp3 index a8224309cde..546cc0c3377 100644 Binary files a/public/audio/bgm/desert.mp3 and b/public/audio/bgm/desert.mp3 differ diff --git a/public/audio/bgm/dojo.mp3 b/public/audio/bgm/dojo.mp3 index 33faffde2cb..cb4a67b831c 100644 Binary files a/public/audio/bgm/dojo.mp3 and b/public/audio/bgm/dojo.mp3 differ diff --git a/public/audio/bgm/forest.mp3 b/public/audio/bgm/forest.mp3 index 5beb948abb3..0f5af3b56f3 100644 Binary files a/public/audio/bgm/forest.mp3 and b/public/audio/bgm/forest.mp3 differ diff --git a/public/audio/bgm/grass.mp3 b/public/audio/bgm/grass.mp3 index 079eb363515..f9555ec2a7d 100644 Binary files a/public/audio/bgm/grass.mp3 and b/public/audio/bgm/grass.mp3 differ diff --git a/public/audio/bgm/graveyard.mp3 b/public/audio/bgm/graveyard.mp3 index 648d3ffd258..343ad3eda98 100644 Binary files a/public/audio/bgm/graveyard.mp3 and b/public/audio/bgm/graveyard.mp3 differ diff --git a/public/audio/bgm/ice_cave.mp3 b/public/audio/bgm/ice_cave.mp3 index 848298c6f09..bc23973b9ee 100644 Binary files a/public/audio/bgm/ice_cave.mp3 and b/public/audio/bgm/ice_cave.mp3 differ diff --git a/public/audio/bgm/lake.mp3 b/public/audio/bgm/lake.mp3 index 8d63b2377c0..e93228ba565 100644 Binary files a/public/audio/bgm/lake.mp3 and b/public/audio/bgm/lake.mp3 differ diff --git a/public/audio/bgm/land.mp3 b/public/audio/bgm/land.mp3 index 14f01b30e85..40b3cf94156 100644 Binary files a/public/audio/bgm/land.mp3 and b/public/audio/bgm/land.mp3 differ diff --git a/public/audio/bgm/meadow.mp3 b/public/audio/bgm/meadow.mp3 index 85534407adf..5990f79e5da 100644 Binary files a/public/audio/bgm/meadow.mp3 and b/public/audio/bgm/meadow.mp3 differ diff --git a/public/audio/bgm/menu.mp3 b/public/audio/bgm/menu.mp3 index 51ceb78ba39..a57ba45bd14 100644 Binary files a/public/audio/bgm/menu.mp3 and b/public/audio/bgm/menu.mp3 differ diff --git a/public/audio/bgm/mountain.mp3 b/public/audio/bgm/mountain.mp3 index 555e68a9f69..d71cd687057 100644 Binary files a/public/audio/bgm/mountain.mp3 and b/public/audio/bgm/mountain.mp3 differ diff --git a/public/audio/bgm/plains.mp3 b/public/audio/bgm/plains.mp3 index bf260164969..3deb8f4b27d 100644 Binary files a/public/audio/bgm/plains.mp3 and b/public/audio/bgm/plains.mp3 differ diff --git a/public/audio/bgm/power_plant.mp3 b/public/audio/bgm/power_plant.mp3 index 51d7183e9ba..a7ab54305c2 100644 Binary files a/public/audio/bgm/power_plant.mp3 and b/public/audio/bgm/power_plant.mp3 differ diff --git a/public/audio/bgm/ruins.mp3 b/public/audio/bgm/ruins.mp3 index 6cc26a69bc7..096161d8bef 100644 Binary files a/public/audio/bgm/ruins.mp3 and b/public/audio/bgm/ruins.mp3 differ diff --git a/public/audio/bgm/sea.mp3 b/public/audio/bgm/sea.mp3 index 862422699df..0bf44bcc3e4 100644 Binary files a/public/audio/bgm/sea.mp3 and b/public/audio/bgm/sea.mp3 differ diff --git a/public/audio/bgm/seabed.mp3 b/public/audio/bgm/seabed.mp3 index df95b4ff5d5..afa282cb4db 100644 Binary files a/public/audio/bgm/seabed.mp3 and b/public/audio/bgm/seabed.mp3 differ diff --git a/public/audio/bgm/space.mp3 b/public/audio/bgm/space.mp3 index 66907bebe36..9585351c9af 100644 Binary files a/public/audio/bgm/space.mp3 and b/public/audio/bgm/space.mp3 differ diff --git a/public/audio/bgm/swamp.mp3 b/public/audio/bgm/swamp.mp3 index 074e1c3d872..e92045d18d2 100644 Binary files a/public/audio/bgm/swamp.mp3 and b/public/audio/bgm/swamp.mp3 differ diff --git a/public/audio/bgm/tall_grass.mp3 b/public/audio/bgm/tall_grass.mp3 index 8d6908b7db2..68c587547cf 100644 Binary files a/public/audio/bgm/tall_grass.mp3 and b/public/audio/bgm/tall_grass.mp3 differ diff --git a/public/audio/bgm/town.mp3 b/public/audio/bgm/town.mp3 index 1a15c995771..dd8d3fa6666 100644 Binary files a/public/audio/bgm/town.mp3 and b/public/audio/bgm/town.mp3 differ diff --git a/public/audio/bgm/volcano.mp3 b/public/audio/bgm/volcano.mp3 index 8f0ba65d1a1..8e5a6ff8d95 100644 Binary files a/public/audio/bgm/volcano.mp3 and b/public/audio/bgm/volcano.mp3 differ diff --git a/public/audio/bgm/wasteland.mp3 b/public/audio/bgm/wasteland.mp3 index f056c149c83..ee068ac2eac 100644 Binary files a/public/audio/bgm/wasteland.mp3 and b/public/audio/bgm/wasteland.mp3 differ diff --git a/src/arena.ts b/src/arena.ts index d96591c7366..40816603dfe 100644 --- a/src/arena.ts +++ b/src/arena.ts @@ -258,7 +258,7 @@ export class Arena { playBgm(): void { this.scene.loadBgm(this.bgm); - this.scene.load.once(Phaser.Loader.Events.COMPLETE, () => this.scene.playBgm(this.bgm)); + this.scene.load.once(Phaser.Loader.Events.COMPLETE, () => this.scene.playBgm(this.bgm, this.getBgmLoopPoint())); if (!this.scene.load.isLoading()) this.scene.load.start(); } @@ -269,4 +269,59 @@ export class Arena { const bgm = this.scene.sound.get(this.bgm); SoundFade.fadeOut(this.scene, bgm, duration, destroy); } + + getBgmLoopPoint(): number { + switch (this.biomeType) { + case Biome.TOWN: + return 7.288; + case Biome.PLAINS: + return 7.693; + case Biome.GRASS: + return 1.995; + case Biome.TALL_GRASS: + return 9.608; + case Biome.CITY: + return 1.221; + case Biome.FOREST: + return 4.294; + case Biome.SEA: + return 1.672; + case Biome.SWAMP: + return 4.461; + case Biome.BEACH: + return 3.462; + case Biome.LAKE: + return 5.350; + case Biome.SEABED: + return 2.629; + case Biome.MOUNTAIN: + return 4.018; + case Biome.LAND: + return 17.790; + case Biome.CAVE: + return 14.240; + case Biome.DESERT: + return 1.143; + case Biome.ICE_CAVE: + return 15.010; + case Biome.MEADOW: + return 3.891; + case Biome.POWER_PLANT: + return 2.810; + case Biome.VOLCANO: + return 5.116; + case Biome.GRAVEYARD: + return 3.232; + case Biome.DOJO: + return 6.205; + case Biome.RUINS: + return 2.270; + case Biome.WASTELAND: + return 6.336; + case Biome.ABYSS: + return 5.130; + case Biome.SPACE: + return 21.347; + } + } } \ No newline at end of file diff --git a/src/battle-scene.ts b/src/battle-scene.ts index a6715f5af42..c5c8e7db055 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -581,7 +581,7 @@ export default class BattleScene extends Phaser.Scene { return this.buttonKeys[button].filter(k => k.isDown).length >= 1; } - playBgm(bgmName?: string): void { + playBgm(bgmName?: string, loopPoint?: number): void { if (!bgmName && this.bgm) { this.bgm.play({ volume: 1 @@ -592,6 +592,8 @@ export default class BattleScene extends Phaser.Scene { this.bgm.stop(); this.bgm = this.sound.add(bgmName, { loop: true }); this.bgm.play(); + if (loopPoint) + this.bgm.on('looped', () => this.bgm.play({ seek: loopPoint })); } pauseBgm(): void { diff --git a/src/pokemon.ts b/src/pokemon.ts index 28595d446fa..78cc36d1aa3 100644 --- a/src/pokemon.ts +++ b/src/pokemon.ts @@ -845,7 +845,7 @@ export class PlayerPokemon extends Pokemon { constructor(scene: BattleScene, species: PokemonSpecies, level: integer, abilityIndex: integer, formIndex: integer, gender?: Gender, shiny?: boolean, dataSource?: Pokemon) { super(scene, 106, 148, species, level, abilityIndex, formIndex, gender, shiny, dataSource); - this.metBiome = scene.arena.biomeType; + this.metBiome = scene.arena?.biomeType || Biome.TOWN; this.metLevel = level; this.generateCompatibleTms(); }