dna reverser, hotel crashes fix, unfusing & exp tracking, wondertrade

This commit is contained in:
infinitefusion
2021-07-01 20:08:02 -04:00
parent de78064786
commit 500edeca7d
16 changed files with 1573 additions and 198 deletions

View File

@@ -485,7 +485,7 @@ class PokemonEvolutionScene
end
end
def pbStartScreen(pokemon,newspecies)
def pbStartScreen(pokemon,newspecies,reversing=false)
@pokemon = pokemon
@newspecies = newspecies
@sprites = {}
@@ -495,7 +495,9 @@ class PokemonEvolutionScene
@viewport.z = 99999
@msgviewport = Viewport.new(0,0,Graphics.width,Graphics.height)
@msgviewport.z = 99999
addBackgroundOrColoredPlane(@sprites,"background","evolutionbg",
background_file = reversing ? "DNAbg": "evolutionbg"
addBackgroundOrColoredPlane(@sprites,"background",background_file,
Color.new(248,248,248),@bgviewport)
rsprite1 = PokemonSprite.new(@viewport)
rsprite1.setOffset(PictureOrigin::Center)
@@ -526,16 +528,18 @@ class PokemonEvolutionScene
end
# Opens the evolution screen
def pbEvolution(cancancel=true)
def pbEvolution(cancancel=true,reversing=false)
metaplayer1 = SpriteMetafilePlayer.new(@metafile1,@sprites["rsprite1"])
metaplayer2 = SpriteMetafilePlayer.new(@metafile2,@sprites["rsprite2"])
metaplayer1.play
metaplayer2.play
pbBGMStop
@pokemon.play_cry
pbMessageDisplay(@sprites["msgwindow"],
_INTL("\\se[]What? {1} is evolving!\\^",@pokemon.name)) { pbUpdate }
pbMessageWaitForInput(@sprites["msgwindow"],50,true) { pbUpdate }
if !reversing
pbMessageDisplay(@sprites["msgwindow"],
_INTL("\\se[]What? {1} is evolving!\\^",@pokemon.name)) { pbUpdate }
pbMessageWaitForInput(@sprites["msgwindow"],50,true) { pbUpdate }
end
pbPlayDecisionSE
oldstate = pbSaveSpriteState(@sprites["rsprite1"])
oldstate2 = pbSaveSpriteState(@sprites["rsprite2"])
@@ -561,11 +565,11 @@ class PokemonEvolutionScene
pbMessageDisplay(@sprites["msgwindow"],
_INTL("Huh? {1} stopped evolving!",@pokemon.name)) { pbUpdate }
else
pbEvolutionSuccess
pbEvolutionSuccess(reversing)
end
end
def pbEvolutionSuccess
def pbEvolutionSuccess(reversing=false)
# Play cry of evolved species
frames = GameData::Species.cry_length(@newspecies, @pokemon.form)
pbBGMStop
@@ -577,9 +581,16 @@ class PokemonEvolutionScene
# Success jingle/message
pbMEPlay("Evolution success")
newspeciesname = GameData::Species.get(@newspecies).name
pbMessageDisplay(@sprites["msgwindow"],
_INTL("\\se[]Congratulations! Your {1} evolved into {2}!\\wt[80]",
@pokemon.name,newspeciesname)) { pbUpdate }
if !reversing
pbMessageDisplay(@sprites["msgwindow"],
_INTL("\\se[]Congratulations! Your {1} evolved into {2}!\\wt[80]",
@pokemon.name,newspeciesname)) { pbUpdate }
else
pbMessageDisplay(@sprites["msgwindow"],
_INTL("\\se[]{1} has been turned into {2}!\\wt[80]",
@pokemon.name,newspeciesname)) { pbUpdate }
end
@sprites["msgwindow"].text = ""
# Check for consumed item and check if Pokémon should be duplicated
pbEvolutionMethodAfterEvolution

View File

@@ -194,22 +194,23 @@ class PokemonTrade_Scene
pbPlayDecisionSE
pbScene1
pbMessageDisplay(@sprites["msgwindow"],
_INTL("For {1}'s {2},\r\n{3} sends {4}.\1",@trader1,speciesname1,@trader2,speciesname2)) { pbUpdate }
_INTL("For {1}'s {2},\r\n{3} sends {4}.\1",@trader1,@pokemon.name,@trader2,@pokemon2.name)) { pbUpdate }
pbMessageDisplay(@sprites["msgwindow"],
_INTL("{1} bids farewell to {2}.",@trader2,speciesname2)) { pbUpdate }
_INTL("{1} bids farewell to {2}.",@trader2,@pokemon2.name)) { pbUpdate }
pbScene2
pbMessageDisplay(@sprites["msgwindow"],
_ISPRINTF("{1:s}\r\nID: {2:05d} OT: {3:s}\1",
@pokemon2.name,@pokemon2.owner.public_id,@pokemon2.owner.name)) { pbUpdate }
_ISPRINTF("{1:s}\r\nNN: {2:s} OT: {3:s}\1", speciesname2,@pokemon2.name,@pokemon2.owner.name)) { pbUpdate }
pbMessageDisplay(@sprites["msgwindow"],
_INTL("Take good care of {1}.",speciesname2)) { pbUpdate }
_INTL("Take good care of {1}.",@pokemon2.name)) { pbUpdate }
end
end
#===============================================================================
#
#===============================================================================
def pbStartTrade(pokemonIndex,newpoke,nickname,trainerName,trainerGender=0)
def pbStartTrade(pokemonIndex,newpoke,nickname,trainerName,trainerGender=0,savegame=false)
Kernel.Autosave if savegame
myPokemon = $Trainer.party[pokemonIndex]
opponent = NPCTrainer.new(trainerName,trainerGender)
opponent.id = $Trainer.make_foreign_ID