From 32ac1d995cf955a4d4e24b6150701cdd60f5af09 Mon Sep 17 00:00:00 2001 From: Maruno17 Date: Sat, 12 Sep 2020 01:13:05 +0100 Subject: [PATCH] Fixed party screen not animating while using Rare Candy, and party icons refreshing late after Rare Candy evolution --- Data/Scripts/015_Items/001_PItem_Items.rb | 16 +++++++++++----- .../016_Pokemon/004_Pokemon_ShadowPokemon.rb | 5 +++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Data/Scripts/015_Items/001_PItem_Items.rb b/Data/Scripts/015_Items/001_PItem_Items.rb index 6c7145dec..a06d7c921 100644 --- a/Data/Scripts/015_Items/001_PItem_Items.rb +++ b/Data/Scripts/015_Items/001_PItem_Items.rb @@ -366,7 +366,11 @@ def pbChangeLevel(pkmn,newlevel,scene) pkmn.changeHappiness("vitamin") pkmn.calcStats scene.pbRefresh - pbMessage(_INTL("{1} grew to Lv. {2}!",pkmn.name,pkmn.level)) + if scene.is_a?(PokemonPartyScreen) + scene.pbDisplay(_INTL("{1} grew to Lv. {2}!",pkmn.name,pkmn.level)) + else + pbMessage(_INTL("{1} grew to Lv. {2}!",pkmn.name,pkmn.level)) + end attackdiff = pkmn.attack-attackdiff defensediff = pkmn.defense-defensediff speeddiff = pkmn.speed-speeddiff @@ -374,14 +378,14 @@ def pbChangeLevel(pkmn,newlevel,scene) spdefdiff = pkmn.spdef-spdefdiff totalhpdiff = pkmn.totalhp-totalhpdiff pbTopRightWindow(_INTL("Max. HP+{1}\r\nAttack+{2}\r\nDefense+{3}\r\nSp. Atk+{4}\r\nSp. Def+{5}\r\nSpeed+{6}", - totalhpdiff,attackdiff,defensediff,spatkdiff,spdefdiff,speeddiff)) + totalhpdiff,attackdiff,defensediff,spatkdiff,spdefdiff,speeddiff),scene) pbTopRightWindow(_INTL("Max. HP{1}\r\nAttack{2}\r\nDefense{3}\r\nSp. Atk{4}\r\nSp. Def{5}\r\nSpeed{6}", - pkmn.totalhp,pkmn.attack,pkmn.defense,pkmn.spatk,pkmn.spdef,pkmn.speed)) + pkmn.totalhp,pkmn.attack,pkmn.defense,pkmn.spatk,pkmn.spdef,pkmn.speed),scene) # Learn new moves upon level up movelist = pkmn.getMoveList for i in movelist next if i[0]!=pkmn.level - pbLearnMove(pkmn,i[1],true) + pbLearnMove(pkmn,i[1],true) { scene.pbUpdate } end # Check for evolution newspecies = pbCheckEvolution(pkmn) @@ -391,12 +395,13 @@ def pbChangeLevel(pkmn,newlevel,scene) evo.pbStartScreen(pkmn,newspecies) evo.pbEvolution evo.pbEndScreen + scene.pbRefresh if scene.is_a?(PokemonPartyScreen) } end end end -def pbTopRightWindow(text) +def pbTopRightWindow(text, scene = nil) window = Window_AdvancedTextPokemon.new(text) window.width = 198 window.x = Graphics.width-window.width @@ -407,6 +412,7 @@ def pbTopRightWindow(text) Graphics.update Input.update window.update + scene.pbUpdate if scene break if Input.trigger?(Input::C) end window.dispose diff --git a/Data/Scripts/016_Pokemon/004_Pokemon_ShadowPokemon.rb b/Data/Scripts/016_Pokemon/004_Pokemon_ShadowPokemon.rb index 3fecb11e3..a41b3f8cf 100644 --- a/Data/Scripts/016_Pokemon/004_Pokemon_ShadowPokemon.rb +++ b/Data/Scripts/016_Pokemon/004_Pokemon_ShadowPokemon.rb @@ -163,8 +163,9 @@ class RelicStoneScreen @scene.pbConfirm(x) end - def pbRefresh - end + def pbUpdate; end + + def pbRefresh; end def pbStartScreen(pokemon) @scene.pbStartScene(pokemon)