• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • Reminder: AI-generated content is not allowed on the forums per the Rules and Regulations. Please contact us if you have any questions!
Pokémon Vault (Home-like Storage)

Resource Pokémon Vault (Home-like Storage) 1.0.1

ReallyBoredCoder

Rookie
Member
Joined
Dec 24, 2025
Posts
3
ReallyBoredCoder submitted a new resource:

Pokémon Vault (Home-like Storage) - Store Pokémon outside of your save file, and retrieve them later

Ever wanted Pokémon Home for fangames? No? Well too bad

Customize the number of boxes, and pokemon per "box"

Customize the location and name of your "vault" file I guess

Revel in the might of the placeholder UI

Encounter an error per box

TO USE

PokemonVault.open_menu

Read more about this resource...
 
You don't have any screenshots, so I'm unsure what the purpose of this resource is. Do the Pokémon exist outside of the save file so you can reset your save and use them in the next playthrough? Can you transfer Pokémon from other games?
 
Unfortunately you missed one major flaw with the system: If you don't save your game after uploading a pokemon, the pokemon you uploaded to the Vault will appear in the save again when you reboot, creating a duplication exploit. The other way around, if you don't save after you download, then the pokemon is lost forever.

You should force a save both on upload and download.
 
You don't have any screenshots, so I'm unsure what the purpose of this resource is. Do the Pokémon exist outside of the save file so you can reset your save and use them in the next playthrough? Can you transfer Pokémon from other games?
Updated the description to make it slightly clearer, it works across games and saves but its recommended to customize the "vault" file location if you don't want people to be able to transfer it from any random game that may not have compatibility with yours
 
I'm curious, is there anything in the script that will prevent you from attempting to transfer something from one game to another if the mon isn’t in the PBS like a fakemon in one game
 
I'm curious, is there anything in the script that will prevent you from attempting to transfer something from one game to another if the mon isn’t in the PBS like a fakemon in one game
No, there isn't. The game just crashes if you try to get a pokemon with custom abilities items and moves. However I managed to show only the pokemon with known properties within the game.

Open 002_UI.rb and search for module_function inside module PokemonVault on line 182. Right below it, type the following:

Ruby:
Expand Collapse Copy
def pbValidPokemon?(poke)
   return false if !pkmn
   return false if !GameData::Species.exists?(pkmn.species)
   return false if !GameData::Ability.exists?(pkmn.ability)
   return false if !GameData::Item.exists?(pkmn.item) && pkmn.item != nil
   return false if !GameData::Nature.exists?(pkmn.nature)
   return false if pkmn.numMoves > Pokemon::MAX_MOVES
   for i in 0..pkmn.numMoves-1
       return false if !GameData::Move.exists?(pkmn.moves[i].id) && pkmn.moves[i] != nil
    end

    return true
end

Then, search for next if !pkmn in line 190, delete it and replace it with:

Ruby:
Expand Collapse Copy
next if !pbValidPokemon

I think it's important to say that the custom pokemon just stays on the vault, but it is not shown in the game.
 
No, there isn't. The game just crashes if you try to get a pokemon with custom abilities items and moves. However I managed to show only the pokemon with known properties within the game.

Open 002_UI.rb and search for module_function inside module PokemonVault on line 182. Right below it, type the following:

Ruby:
Expand Collapse Copy
def pbValidPokemon?(poke)
   return false if !pkmn
   return false if !GameData::Species.exists?(pkmn.species)
   return false if !GameData::Ability.exists?(pkmn.ability)
   return false if !GameData::Item.exists?(pkmn.item) && pkmn.item != nil
   return false if !GameData::Nature.exists?(pkmn.nature)
   return false if pkmn.numMoves > Pokemon::MAX_MOVES
   for i in 0..pkmn.numMoves-1
       return false if !GameData::Move.exists?(pkmn.moves[i].id) && pkmn.moves[i] != nil
    end

    return true
end

Then, search for next if !pkmn in line 190, delete it and replace it with:

Ruby:
Expand Collapse Copy
next if !pbValidPokemon

I think it's important to say that the custom pokemon just stays on the vault, but it is not shown in the game.
Awesome, i appreciate the that you went through the effort of solving my dilemma! I asked because if i ever decided to make multiple fangames i may have some fakemon, but not others of the ones i made so this is very helpful
 
Back
Top