From c98e5b8bebaae04c016450523556b951a0af2cd7 Mon Sep 17 00:00:00 2001 From: Flashfyre Date: Tue, 23 Apr 2024 09:52:02 -0400 Subject: [PATCH] Fix reintroducing stack overflow on enemy attack --- src/battle-scene.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/battle-scene.ts b/src/battle-scene.ts index ee6991eff..a60b040b2 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -1978,15 +1978,15 @@ export default class BattleScene extends SceneBase { applyShuffledModifiers(scene: BattleScene, modifierType: { new(...args: any[]): Modifier }, player: boolean = true, ...args: any[]): PersistentModifier[] { let modifiers = (player ? this.modifiers : this.enemyModifiers).filter(m => m instanceof modifierType && m.shouldApply(args)); - if (modifiers.length > 1) { - scene.executeWithSeedOffset(() => { - const shuffleModifiers = mods => { - const rand = Math.floor(Utils.randSeedInt(mods.length)); - return [mods[rand], ...shuffleModifiers(mods.filter((_, i) => i !== rand))]; - }; - modifiers = shuffleModifiers(modifiers); - }, scene.currentBattle.turn << 4, scene.waveSeed); - } + scene.executeWithSeedOffset(() => { + const shuffleModifiers = mods => { + if (mods.length < 1) + return mods; + const rand = Math.floor(Utils.randSeedInt(mods.length)); + return [mods[rand], ...shuffleModifiers(mods.filter((_, i) => i !== rand))]; + }; + modifiers = shuffleModifiers(modifiers); + }, scene.currentBattle.turn << 4, scene.waveSeed); return this.applyModifiersInternal(modifiers, player, args); }