From 62a070239b0b8ae595b288c8e02212a25348380f Mon Sep 17 00:00:00 2001 From: Hyun Ahn Date: Sat, 25 Nov 2023 12:25:09 +0900 Subject: [PATCH] Hyun/weather_override (#4) * weather_override * move weather override --- src/arena.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/arena.ts b/src/arena.ts index 9828186b9..563f78095 100644 --- a/src/arena.ts +++ b/src/arena.ts @@ -12,6 +12,8 @@ import { ArenaTag, ArenaTagType, getArenaTag } from "./data/arena-tag"; import { GameMode } from "./game-mode"; import { TrainerType } from "./data/trainer-type"; +const WEATHER_OVERRIDE = WeatherType.RAIN + export class Arena { public scene: BattleScene; public biomeType: Biome; @@ -183,13 +185,26 @@ export class Arena { } } + trySetWeatherOverride(weather: WeatherType): boolean { + this.weather = new Weather(weather, 0); + this.scene.unshiftPhase(new CommonAnimPhase(this.scene, undefined, undefined, CommonAnim.SUNNY + (weather - 1))); + this.scene.queueMessage(getWeatherStartMessage(weather)); + return true + } + trySetWeather(weather: WeatherType, viaMove: boolean): boolean { + // override hook for debugging + if (WEATHER_OVERRIDE) { + return this.trySetWeatherOverride(WEATHER_OVERRIDE); + } + if (this.weather?.weatherType === (weather || undefined)) return false; const oldWeatherType = this.weather?.weatherType || WeatherType.NONE; - this.weather = weather ? new Weather(weather, viaMove ? 5 : 0) : null; + this.weather = weather ? new Weather(weather, viaMove ? 5 : 0) : null; + if (this.weather) { this.scene.unshiftPhase(new CommonAnimPhase(this.scene, undefined, undefined, CommonAnim.SUNNY + (weather - 1))); this.scene.queueMessage(getWeatherStartMessage(weather));