adds failsafe for when randomizer can't find a Pokemon

This commit is contained in:
infinitefusion
2022-05-09 20:40:58 -04:00
parent 96261fd424
commit d741823669
14 changed files with 16 additions and 0 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
@@ -128,12 +128,18 @@ def getRandomPokemon(originalPokemon,bstRange,maxDexNumber)
bstMax = originalBst+bstRange bstMax = originalBst+bstRange
foundAPokemon = false foundAPokemon = false
int i=0
while ! foundAPokemon while ! foundAPokemon
newPoke = rand(maxDexNumber-1)+1 newPoke = rand(maxDexNumber-1)+1
newPokeBST = getBaseStatsTotal(newPoke) newPokeBST = getBaseStatsTotal(newPoke)
if newPokeBST >= bstMin && newPokeBST <= bstMax if newPokeBST >= bstMin && newPokeBST <= bstMax
foundAPokemon = true foundAPokemon = true
end end
i+=1
if i %10 ==0
bstMin-=5
bstMax+=5
end
end end
return newPoke return newPoke
end end
@@ -278,8 +278,13 @@ def getNewSpecies(oldSpecies,bst_range=50, ignoreRivalPlaceholder = false, maxDe
return oldSpecies_dex if (oldSpecies_dex == Settings::RIVAL_STARTER_PLACEHOLDER_SPECIES && !ignoreRivalPlaceholder) return oldSpecies_dex if (oldSpecies_dex == Settings::RIVAL_STARTER_PLACEHOLDER_SPECIES && !ignoreRivalPlaceholder)
return oldSpecies_dex if oldSpecies_dex >= Settings::ZAPMOLCUNO_NB return oldSpecies_dex if oldSpecies_dex >= Settings::ZAPMOLCUNO_NB
newspecies_dex = rand(maxDexNumber - 1) + 1 newspecies_dex = rand(maxDexNumber - 1) + 1
i=0
while bstOk(newspecies_dex,oldSpecies_dex,bst_range) while bstOk(newspecies_dex,oldSpecies_dex,bst_range)
newspecies_dex = rand(maxDexNumber - 1) + 1 newspecies_dex = rand(maxDexNumber - 1) + 1
i+=1
if i%10 == 0
bst_range += 5
end
end end
return newspecies_dex return newspecies_dex
end end
@@ -290,10 +295,15 @@ def getNewCustomSpecies(oldSpecies,customSpeciesList,bst_range=50, ignoreRivalPl
return oldSpecies_dex if (oldSpecies_dex == Settings::RIVAL_STARTER_PLACEHOLDER_SPECIES && !ignoreRivalPlaceholder) return oldSpecies_dex if (oldSpecies_dex == Settings::RIVAL_STARTER_PLACEHOLDER_SPECIES && !ignoreRivalPlaceholder)
return oldSpecies_dex if oldSpecies_dex >= Settings::ZAPMOLCUNO_NB return oldSpecies_dex if oldSpecies_dex >= Settings::ZAPMOLCUNO_NB
i = rand(customSpeciesList.length - 1) + 1 i = rand(customSpeciesList.length - 1) + 1
n=0
newspecies_dex = customSpeciesList[i] newspecies_dex = customSpeciesList[i]
while bstOk(newspecies_dex,oldSpecies_dex,bst_range) while bstOk(newspecies_dex,oldSpecies_dex,bst_range)
i = rand(customSpeciesList.length - 1)#+1 i = rand(customSpeciesList.length - 1)#+1
newspecies_dex = customSpeciesList[i] newspecies_dex = customSpeciesList[i]
n+=1
if n % 10 == 0
bst_range+=5
end
end end
return newspecies_dex return newspecies_dex
end end
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.