mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-11 15:15:00 +00:00
update 6.7
This commit is contained in:
73
Data/Scripts/053_PIF_Hoenn/TransferBox.rb
Normal file
73
Data/Scripts/053_PIF_Hoenn/TransferBox.rb
Normal file
@@ -0,0 +1,73 @@
|
||||
|
||||
class PokemonStorage
|
||||
end
|
||||
|
||||
|
||||
class StorageTransferBox < PokemonBox
|
||||
TRANSFER_BOX_NAME = _INTL("Transfer Box")
|
||||
def initialize()
|
||||
super(TRANSFER_BOX_NAME,PokemonBox::BOX_SIZE)
|
||||
@pokemon = []
|
||||
@background = 16
|
||||
for i in 0...PokemonBox::BOX_SIZE
|
||||
@pokemon[i] = nil
|
||||
end
|
||||
loadTransferBoxPokemon
|
||||
end
|
||||
|
||||
|
||||
def loadTransferBoxPokemon
|
||||
path = transferBoxSavePath
|
||||
if File.exist?(path)
|
||||
File.open(path, "rb") do |f|
|
||||
@pokemon = Marshal.load(f)
|
||||
end
|
||||
end
|
||||
rescue => e
|
||||
echoln "Failed to load transfer box: #{e}"
|
||||
@pokemon = Array.new(PokemonBox::BOX_SIZE, nil)
|
||||
end
|
||||
|
||||
def []=(i,value)
|
||||
@pokemon[i] = value
|
||||
saveTransferBox()
|
||||
Game.save()
|
||||
end
|
||||
|
||||
def saveTransferBox
|
||||
path = transferBoxSavePath
|
||||
dir = File.dirname(path)
|
||||
Dir.mkdir(dir) unless Dir.exist?(dir)
|
||||
File.open(path, "wb") do |f|
|
||||
Marshal.dump(@pokemon, f)
|
||||
end
|
||||
echoln "Transfer box saved to #{path}"
|
||||
$game_temp.must_save_now=true
|
||||
rescue => e
|
||||
echoln "Failed to save transfer box: #{e}"
|
||||
end
|
||||
|
||||
|
||||
private
|
||||
|
||||
def transferBoxSavePath
|
||||
save_dir = System.data_directory # e.g., %appdata%/infinitefusion
|
||||
parent_dir = File.expand_path("..", save_dir)
|
||||
File.join(parent_dir, "infinitefusion_common", "transfer_pokemon_storage")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
#Never add more than 1, it would just be a copy
|
||||
def addPokemonStorageTransferBox()
|
||||
$PokemonStorage.boxes << StorageTransferBox.new
|
||||
end
|
||||
|
||||
def verifyTransferBoxAutosave()
|
||||
if !$game_temp.transfer_box_autosave
|
||||
confirmed = pbConfirmMessage(_INTL("Moving Pokémon in and out of the transfer box will save the game automatically. Is this okay?"))
|
||||
$game_temp.transfer_box_autosave=true if confirmed
|
||||
return confirmed
|
||||
end
|
||||
return true
|
||||
end
|
||||
Reference in New Issue
Block a user