Music change

This commit is contained in:
AJ Fontaine 2025-03-27 11:02:50 -04:00
parent 410000e471
commit 2cb766a940
2 changed files with 28 additions and 2 deletions

View File

@ -167,9 +167,10 @@ import { ExpGainsSpeed } from "#enums/exp-gains-speed";
import { BattlerTagType } from "#enums/battler-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type";
import { FRIENDSHIP_GAIN_FROM_BATTLE } from "#app/data/balance/starters"; import { FRIENDSHIP_GAIN_FROM_BATTLE } from "#app/data/balance/starters";
import { StatusEffect } from "#enums/status-effect"; import { StatusEffect } from "#enums/status-effect";
import { initGlobalScene } from "#app/global-scene"; import { globalScene, initGlobalScene } from "#app/global-scene";
import { ShowAbilityPhase } from "#app/phases/show-ability-phase"; import { ShowAbilityPhase } from "#app/phases/show-ability-phase";
import { HideAbilityPhase } from "#app/phases/hide-ability-phase"; import { HideAbilityPhase } from "#app/phases/hide-ability-phase";
import { timedEventManager } from "./global-event-manager";
export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1"; export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1";
@ -2265,6 +2266,9 @@ export default class BattleScene extends SceneBase {
if (bgmName === undefined) { if (bgmName === undefined) {
bgmName = this.currentBattle?.getBgmOverride() || this.arena?.bgm; bgmName = this.currentBattle?.getBgmOverride() || this.arena?.bgm;
} }
bgmName = timedEventManager.getEventBgmReplacement(bgmName);
if (this.bgm && bgmName === this.bgm.key) { if (this.bgm && bgmName === this.bgm.key) {
if (!this.bgm.isPlaying) { if (!this.bgm.isPlaying) {
this.bgm.play({ this.bgm.play({

View File

@ -41,6 +41,8 @@ interface EventWaveReward {
type: string; type: string;
} }
type EventMusicReplacement = [string, string];
interface TimedEvent extends EventBanner { interface TimedEvent extends EventBanner {
name: string; name: string;
eventType: EventType; eventType: EventType;
@ -58,6 +60,7 @@ interface TimedEvent extends EventBanner {
boostFusions?: boolean; //MODIFIER REWORK PLEASE boostFusions?: boolean; //MODIFIER REWORK PLEASE
classicWaveRewards?: EventWaveReward[]; // Rival battle rewards classicWaveRewards?: EventWaveReward[]; // Rival battle rewards
trainerShinyChance?: number; // Odds over 65536 of trainer mon generating as shiny trainerShinyChance?: number; // Odds over 65536 of trainer mon generating as shiny
music?: EventMusicReplacement[];
} }
const timedEvents: TimedEvent[] = [ const timedEvents: TimedEvent[] = [
@ -281,7 +284,7 @@ const timedEvents: TimedEvent[] = [
], ],
}, },
{ {
name: "APRF25", name: "April Fools 2025",
eventType: EventType.NO_TIMER_DISPLAY, eventType: EventType.NO_TIMER_DISPLAY,
startDate: new Date(Date.UTC(2025, 2, 1)), startDate: new Date(Date.UTC(2025, 2, 1)),
endDate: new Date(Date.UTC(2025, 3, 3)), endDate: new Date(Date.UTC(2025, 3, 3)),
@ -289,6 +292,10 @@ const timedEvents: TimedEvent[] = [
// scale: 0.21, // scale: 0.21,
// availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN"], // availableLangs: ["en", "de", "it", "fr", "ja", "ko", "es-ES", "pt-BR", "zh-CN"],
trainerShinyChance: 16384, // 16384/65536 = 1/4 trainerShinyChance: 16384, // 16384/65536 = 1/4
music: [
["title", "mystery_encounter_fun_and_games"],
["battle_rival_3", "mystery_encounter_fun_and_games"],
],
}, },
]; ];
@ -488,6 +495,21 @@ export class TimedEventManager {
tsEvents.map(t => (ret += t.trainerShinyChance!)); tsEvents.map(t => (ret += t.trainerShinyChance!));
return ret; return ret;
} }
getEventBgmReplacement(bgm: string): string {
let ret = bgm;
timedEvents.map(te => {
if (this.isActive(te) && !isNullOrUndefined(te.music)) {
te.music.map(mr => {
if (mr[0] === bgm) {
console.log(`it is ${te.name} so instead of ${mr[0]} we play ${mr[1]}`);
ret = mr[1];
}
});
}
});
return ret;
}
} }
export class TimedEventDisplay extends Phaser.GameObjects.Container { export class TimedEventDisplay extends Phaser.GameObjects.Container {