Fixes issue with gym randomizer when wiping out in a gym

This commit is contained in:
infinitefusion
2023-11-14 20:29:02 -05:00
parent 3943ce1684
commit 1acc5ef4f7
4 changed files with 6 additions and 4 deletions

View File

@@ -154,7 +154,9 @@ module GameData
end
if $game_switches[SWITCH_RANDOM_GYM_PERSIST_TEAMS] && $PokemonGlobal.randomGymTrainersHash != nil
if $PokemonGlobal.randomGymTrainersHash[trainerId] != nil && $PokemonGlobal.randomGymTrainersHash[trainerId].length >= $PokemonGlobal.randomTrainersHash[trainerId].length
return getSpecies($PokemonGlobal.randomGymTrainersHash[trainerId][pokemonIndex])
newSpecies = getSpecies($PokemonGlobal.randomGymTrainersHash[trainerId][pokemonIndex])
return newSpecies if newSpecies
return species
end
end
new_species = generateRandomGymSpecies(species)

View File

@@ -82,6 +82,7 @@ end
# Blacking out animation
#===============================================================================
def pbStartOver(gameover=false)
$game_variables[VAR_CURRENT_GYM_TYPE]=-1
if pbInBugContest?
pbBugContestStartOver
return

View File

@@ -127,7 +127,7 @@ def bstOk(newspecies, oldPokemonSpecies, bst_range = 50)
end
def gymLeaderOk(newspecies)
return true if $game_variables[152] == -1 #not in a gym
return true if $game_variables[VAR_CURRENT_GYM_TYPE] == -1 #not in a gym
leaderType = getLeaderType()
if leaderType == nil
return true
@@ -138,7 +138,7 @@ def gymLeaderOk(newspecies)
end
def getLeaderType()
currentGym = $game_variables[152]
currentGym = $game_variables[VAR_CURRENT_GYM_TYPE]
if currentGym > $game_variables[151].length
return nil
else

View File

@@ -209,7 +209,6 @@ def playPokeFluteAnimation
end
def restoreDefaultCharacterSprite(charset_number=0)
meta = GameData::Metadata.get_player($Trainer.character_ID)
$game_player.setDefaultCharName(nil, 0, false)
Graphics.update
Input.update