error handling in case the randomizer picks a pokemon that does not exist

This commit is contained in:
infinitefusion
2023-11-14 18:46:32 -05:00
parent d729a630e5
commit 2635217407
5 changed files with 11 additions and 5 deletions

Binary file not shown.

View File

@@ -340,8 +340,12 @@ def pbWildBattle(species, level, outcomeVar=1, canRun=true, canLose=false)
dexnum = getDexNumberForSpecies(species)
if $game_switches[SWITCH_RANDOM_STATIC_ENCOUNTERS] && dexnum <= NB_POKEMON
newSpecies = $PokemonGlobal.psuedoBSTHash[dexnum]
if !newSpecies
displayRandomizerErrorMessage()
else
species = getSpecies(newSpecies)
end
end
# Potentially call a different pbWildBattle-type method instead (for roaming
# Pokémon, Safari battles, Bug Contest battles)

View File

@@ -700,8 +700,11 @@ def regirock_steel_move_boulder()
pbSEPlay("Entering Door")
pbSetSelfSwitch(switch_event.id, "A", true) if switch_event
end
end
def displayRandomizerErrorMessage()
Kernel.pbMessage(_INTL("The randomizer has encountered an error. You should try to re-randomize your game as soon as possible."))
Kernel.pbMessage(_INTL("You can do this on the top floor of Pokémon Centers."))
end

View File

@@ -214,8 +214,7 @@ def getFusionSpeciesSymbol(body, head)
nb_pokemon = Settings::NB_POKEMON
id = body_num * nb_pokemon + head_num
if id > (nb_pokemon*nb_pokemon)+nb_pokemon
Kernel.pbMessage(_INTL("The randomizer has encountered an error. You should try to re-randomize your game as soon as possible."))
Kernel.pbMessage(_INTL("You can do this on the top floor of Pokémon Centers."))
displayRandomizerErrorMessage()
return body
end

Binary file not shown.