From 8857bbf5306a214edc01ccddb010043c9409d5ac Mon Sep 17 00:00:00 2001 From: ghm5755 <90924022+ghm5755@users.noreply.github.com> Date: Tue, 21 May 2024 18:55:45 -0700 Subject: [PATCH] Fixing the crash bug that occurs when Endless runs reach floor 5850 --- src/modifier/modifier-type.ts | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 278de2f18e8..0e744409fcc 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1592,15 +1592,20 @@ export function getEnemyBuffModifierForWave(tier: ModifierTier, enemyModifiers: const tierStackCount = tier === ModifierTier.ULTRA ? 5 : tier === ModifierTier.GREAT ? 3 : 1; const retryCount = 50; let candidate = getNewModifierTypeOption(null, ModifierPoolType.ENEMY_BUFF, tier); - let r = 0; - let matchingModifier: Modifiers.PersistentModifier; - while (++r < retryCount && (matchingModifier = enemyModifiers.find(m => m.type.id === candidate.type.id)) && matchingModifier.getMaxStackCount(scene) < matchingModifier.stackCount + (r < 10 ? tierStackCount : 1)) - candidate = getNewModifierTypeOption(null, ModifierPoolType.ENEMY_BUFF, tier); - - const modifier = candidate.type.newModifier() as Modifiers.EnemyPersistentModifier; - modifier.stackCount = tierStackCount; - - return modifier; + if (candidate != null) { + let r = 0; + let matchingModifier: Modifiers.PersistentModifier; + while (++r < retryCount && (matchingModifier = enemyModifiers.find(m => m.type.id === candidate.type.id)) && matchingModifier.getMaxStackCount(scene) < matchingModifier.stackCount + (r < 10 ? tierStackCount : 1)) + candidate = getNewModifierTypeOption(null, ModifierPoolType.ENEMY_BUFF, tier); + + const modifier = candidate.type.newModifier() as Modifiers.EnemyPersistentModifier; + modifier.stackCount = tierStackCount; + + return modifier; + } else { + return null; + } + } export function getEnemyModifierTypesForWave(waveIndex: integer, count: integer, party: EnemyPokemon[], poolType: ModifierPoolType.WILD | ModifierPoolType.TRAINER, upgradeChance: integer = 0): PokemonHeldItemModifierType[] {