From eab38a5ad42d672236e9fbf4c41dfdc55e9e6c69 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Thu, 18 Apr 2024 00:49:44 -0400 Subject: [PATCH] Add more exp gains options --- src/battle-scene.ts | 2 +- src/phases.ts | 4 ++-- src/system/settings.ts | 10 +++++----- src/ui/party-exp-bar.ts | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index 9671df712..5f27b8e0c 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -120,13 +120,13 @@ export default class BattleScene extends SceneBase { public gameSpeed: integer = 1; public damageNumbersMode: integer = 0; public showLevelUpStats: boolean = true; - public showExpGains: boolean = true; public enableTutorials: boolean = import.meta.env.VITE_BYPASS_TUTORIAL === "1"; public enableRetries: boolean = false; public uiTheme: UiTheme = UiTheme.DEFAULT; public windowType: integer = 0; public experimentalSprites: boolean = false; public moveAnimations: boolean = true; + public expGainsSpeed: integer = 0; public hpBarSpeed: integer = 0; public fusionPaletteSwaps: boolean = true; public gamepadSupport: boolean = true; diff --git a/src/phases.ts b/src/phases.ts index 54ee90c71..020cdf658 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3543,12 +3543,12 @@ export class ShowPartyExpBarPhase extends PlayerPartyMemberPokemonPhase { this.scene.unshiftPhase(new HidePartyExpBarPhase(this.scene)); pokemon.updateInfo(); - if (this.scene.showExpGains) { + if (this.scene.expGainsSpeed < 3) { this.scene.partyExpBar.showPokemonExp(pokemon, exp.value).then(() => { if (newLevel > lastLevel) this.end(); else - setTimeout(() => this.end(), 500); + setTimeout(() => this.end(), 500 / Math.pow(2, this.scene.expGainsSpeed)); }); } else { this.end(); diff --git a/src/system/settings.ts b/src/system/settings.ts index afb3bb9da..68199d9aa 100644 --- a/src/system/settings.ts +++ b/src/system/settings.ts @@ -16,7 +16,7 @@ export enum Setting { Sprite_Set = "SPRITE_SET", Move_Animations = "MOVE_ANIMATIONS", Show_Stats_on_Level_Up = "SHOW_LEVEL_UP_STATS", - Show_EXP_Gains = "SHOW_EXP_GAINS", + EXP_Gains_Speed = "EXP_GAINS_SPEED", HP_Bar_Speed = "HP_BAR_SPEED", Fusion_Palette_Swaps = "FUSION_PALETTE_SWAPS", Player_Gender = "PLAYER_GENDER", @@ -46,7 +46,7 @@ export const settingOptions: SettingOptions = { [Setting.Sprite_Set]: [ 'Consistent', 'Prioritize Animation' ], [Setting.Move_Animations]: [ 'Off', 'On' ], [Setting.Show_Stats_on_Level_Up]: [ 'Off', 'On' ], - [Setting.Show_EXP_Gains]: [ 'Off', 'On' ], + [Setting.EXP_Gains_Speed]: [ 'Normal', 'Fast', 'Faster', 'Skip' ], [Setting.HP_Bar_Speed]: [ 'Normal', 'Fast', 'Faster', 'Instant' ], [Setting.Fusion_Palette_Swaps]: [ 'Off', 'On' ], [Setting.Player_Gender]: [ 'Boy', 'Girl' ], @@ -68,7 +68,7 @@ export const settingDefaults: SettingDefaults = { [Setting.Sprite_Set]: 0, [Setting.Move_Animations]: 1, [Setting.Show_Stats_on_Level_Up]: 1, - [Setting.Show_EXP_Gains]: 1, + [Setting.EXP_Gains_Speed]: 0, [Setting.HP_Bar_Speed]: 0, [Setting.Fusion_Palette_Swaps]: 1, [Setting.Player_Gender]: 0, @@ -122,8 +122,8 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer) case Setting.Show_Stats_on_Level_Up: scene.showLevelUpStats = settingOptions[setting][value] === 'On'; break; - case Setting.Show_EXP_Gains: - scene.showExpGains = settingOptions[setting][value] === 'On'; + case Setting.EXP_Gains_Speed: + scene.expGainsSpeed = value; break; case Setting.HP_Bar_Speed: scene.hpBarSpeed = value; diff --git a/src/ui/party-exp-bar.ts b/src/ui/party-exp-bar.ts index a582c7e85..a5451c5f2 100644 --- a/src/ui/party-exp-bar.ts +++ b/src/ui/party-exp-bar.ts @@ -51,7 +51,7 @@ export default class PartyExpBar extends Phaser.GameObjects.Container { this.tween = this.scene.tweens.add({ targets: this, x: (this.scene.game.canvas.width / 6) - (this.bg.width - 5), - duration: 500, + duration: 500 / Math.pow(2, pokemon.scene.expGainsSpeed), ease: 'Sine.easeOut', onComplete: () => { this.tween = null;