diff --git a/Data/Scripts/016_UI/017_UI_PokemonStorage.rb b/Data/Scripts/016_UI/017_UI_PokemonStorage.rb index 293ce995e..b72256586 100644 --- a/Data/Scripts/016_UI/017_UI_PokemonStorage.rb +++ b/Data/Scripts/016_UI/017_UI_PokemonStorage.rb @@ -2,8 +2,8 @@ # Pokémon icons #=============================================================================== class PokemonBoxIcon < IconSprite - def initialize(pokemon,viewport=nil) - super(0,0,viewport) + def initialize(pokemon, viewport = nil) + super(0, 0, viewport) @pokemon = pokemon @release = Interpolator.new @startRelease = false @@ -34,8 +34,8 @@ class PokemonBoxIcon < IconSprite icon1 = AnimatedBitmap.new(GameData::Species.icon_filename(headPoke)) icon2 = AnimatedBitmap.new(GameData::Species.icon_filename(bodyPoke)) - for i in 0..icon1.width-1 - for j in ((icon1.height / 2) + Settings::FUSION_ICON_SPRITE_OFFSET)..icon1.height-1 + for i in 0..icon1.width - 1 + for j in ((icon1.height / 2) + Settings::FUSION_ICON_SPRITE_OFFSET)..icon1.height - 1 temp = icon2.bitmap.get_pixel(i, j) icon1.bitmap.set_pixel(i, j, temp) end @@ -44,33 +44,37 @@ class PokemonBoxIcon < IconSprite end def release - self.ox = self.src_rect.width/2 # 32 - self.oy = self.src_rect.height/2 # 32 - self.x += self.src_rect.width/2 # 32 - self.y += self.src_rect.height/2 # 32 - @release.tween(self,[ - [Interpolator::ZOOM_X,0], - [Interpolator::ZOOM_Y,0], - [Interpolator::OPACITY,0] - ],100) + self.ox = self.src_rect.width / 2 # 32 + self.oy = self.src_rect.height / 2 # 32 + self.x += self.src_rect.width / 2 # 32 + self.y += self.src_rect.height / 2 # 32 + @release.tween(self, [ + [Interpolator::ZOOM_X, 0], + [Interpolator::ZOOM_Y, 0], + [Interpolator::OPACITY, 0] + ], 100) @startRelease = true end - - def refresh + def refresh(fusion_enabled = true) return if !@pokemon if useRegularIcon(@pokemon.species) || @pokemon.egg? self.setBitmap(GameData::Species.icon_filename_from_pokemon(@pokemon)) else self.setBitmapDirectly(createFusionIcon(@pokemon.species)) + if fusion_enabled + self.visible = true + else + self.visible = false + end end - self.src_rect = Rect.new(0,0,self.bitmap.height,self.bitmap.height) + self.src_rect = Rect.new(0, 0, self.bitmap.height, self.bitmap.height) end def update super @release.update - self.color = Color.new(0,0,0,0) + self.color = Color.new(0, 0, 0, 0) dispose if @startRelease && !releasing? end end @@ -105,7 +109,7 @@ class MosaicPokemonSprite < PokemonSprite def mosaic=(value) @mosaic = value - @mosaic = 0 if @mosaic<0 + @mosaic = 0 if @mosaic < 0 mosaicRefresh(@oldbitmap) end @@ -113,25 +117,25 @@ class MosaicPokemonSprite < PokemonSprite return if @inrefresh @inrefresh = true @oldbitmap = bitmap - if @mosaic<=0 || !@oldbitmap + if @mosaic <= 0 || !@oldbitmap @mosaicbitmap.dispose if @mosaicbitmap @mosaicbitmap = nil @mosaicbitmap2.dispose if @mosaicbitmap2 @mosaicbitmap2 = nil self.bitmap = @oldbitmap else - newWidth = [(@oldbitmap.width/@mosaic),1].max - newHeight = [(@oldbitmap.height/@mosaic),1].max + newWidth = [(@oldbitmap.width / @mosaic), 1].max + newHeight = [(@oldbitmap.height / @mosaic), 1].max @mosaicbitmap2.dispose if @mosaicbitmap2 - @mosaicbitmap = pbDoEnsureBitmap(@mosaicbitmap,newWidth,newHeight) + @mosaicbitmap = pbDoEnsureBitmap(@mosaicbitmap, newWidth, newHeight) @mosaicbitmap.clear - @mosaicbitmap2 = pbDoEnsureBitmap(@mosaicbitmap2,@oldbitmap.width,@oldbitmap.height) + @mosaicbitmap2 = pbDoEnsureBitmap(@mosaicbitmap2, @oldbitmap.width, @oldbitmap.height) @mosaicbitmap2.clear - @mosaicbitmap.stretch_blt(Rect.new(0,0,newWidth,newHeight),@oldbitmap,@oldbitmap.rect) + @mosaicbitmap.stretch_blt(Rect.new(0, 0, newWidth, newHeight), @oldbitmap, @oldbitmap.rect) @mosaicbitmap2.stretch_blt( - Rect.new(-@mosaic/2+1,-@mosaic/2+1, - @mosaicbitmap2.width,@mosaicbitmap2.height), - @mosaicbitmap,Rect.new(0,0,newWidth,newHeight)) + Rect.new(-@mosaic / 2 + 1, -@mosaic / 2 + 1, + @mosaicbitmap2.width, @mosaicbitmap2.height), + @mosaicbitmap, Rect.new(0, 0, newWidth, newHeight)) self.bitmap = @mosaicbitmap2 end @inrefresh = false @@ -154,28 +158,28 @@ end class PokemonBoxArrow < SpriteWrapper attr_accessor :quickswap - def initialize(viewport=nil) + def initialize(viewport = nil) super(viewport) - @frame = 0 - @holding = false - @updating = false - @quickswap = false + @frame = 0 + @holding = false + @updating = false + @quickswap = false @grabbingState = 0 - @placingState = 0 - @heldpkmn = nil - @handsprite = ChangelingSprite.new(0,0,viewport) - @handsprite.addBitmap("point1","Graphics/Pictures/Storage/cursor_point_1") - @handsprite.addBitmap("point2","Graphics/Pictures/Storage/cursor_point_2") - @handsprite.addBitmap("grab","Graphics/Pictures/Storage/cursor_grab") - @handsprite.addBitmap("fist","Graphics/Pictures/Storage/cursor_fist") - @handsprite.addBitmap("point1q","Graphics/Pictures/Storage/cursor_point_1_q") - @handsprite.addBitmap("point2q","Graphics/Pictures/Storage/cursor_point_2_q") - @handsprite.addBitmap("grabq","Graphics/Pictures/Storage/cursor_grab_q") - @handsprite.addBitmap("fistq","Graphics/Pictures/Storage/cursor_fist_q") + @placingState = 0 + @heldpkmn = nil + @handsprite = ChangelingSprite.new(0, 0, viewport) + @handsprite.addBitmap("point1", "Graphics/Pictures/Storage/cursor_point_1") + @handsprite.addBitmap("point2", "Graphics/Pictures/Storage/cursor_point_2") + @handsprite.addBitmap("grab", "Graphics/Pictures/Storage/cursor_grab") + @handsprite.addBitmap("fist", "Graphics/Pictures/Storage/cursor_fist") + @handsprite.addBitmap("point1q", "Graphics/Pictures/Storage/cursor_point_1_q") + @handsprite.addBitmap("point2q", "Graphics/Pictures/Storage/cursor_point_2_q") + @handsprite.addBitmap("grabq", "Graphics/Pictures/Storage/cursor_grab_q") + @handsprite.addBitmap("fistq", "Graphics/Pictures/Storage/cursor_fist_q") @handsprite.changeBitmap("fist") @spriteX = self.x @spriteY = self.y - @splicerType=0 + @splicerType = 0 end def dispose @@ -231,11 +235,11 @@ class PokemonBoxArrow < SpriteWrapper end def grabbing? - return @grabbingState>0 + return @grabbingState > 0 end def placing? - return @placingState>0 + return @placingState > 0 end def x=(value) @@ -249,7 +253,7 @@ class PokemonBoxArrow < SpriteWrapper super @handsprite.y = self.y @spriteY = y if !@updating - heldPokemon.y = self.y+16 if holding? + heldPokemon.y = self.y + 16 if holding? end def z=(value) @@ -298,29 +302,29 @@ class PokemonBoxArrow < SpriteWrapper heldpkmn.update if heldpkmn @handsprite.update @holding = false if !heldpkmn - if @grabbingState>0 - if @grabbingState<=4*Graphics.frame_rate/20 + if @grabbingState > 0 + if @grabbingState <= 4 * Graphics.frame_rate / 20 @handsprite.changeBitmap((@quickswap) ? "grabq" : "grab") - self.y = @spriteY+4.0*@grabbingState*20/Graphics.frame_rate + self.y = @spriteY + 4.0 * @grabbingState * 20 / Graphics.frame_rate @grabbingState += 1 - elsif @grabbingState<=8*Graphics.frame_rate/20 + elsif @grabbingState <= 8 * Graphics.frame_rate / 20 @holding = true @handsprite.changeBitmap((@quickswap) ? "fistq" : "fist") - self.y = @spriteY+4*(8*Graphics.frame_rate/20-@grabbingState)*20/Graphics.frame_rate + self.y = @spriteY + 4 * (8 * Graphics.frame_rate / 20 - @grabbingState) * 20 / Graphics.frame_rate @grabbingState += 1 else @grabbingState = 0 end - elsif @placingState>0 - if @placingState<=4*Graphics.frame_rate/20 + elsif @placingState > 0 + if @placingState <= 4 * Graphics.frame_rate / 20 @handsprite.changeBitmap((@quickswap) ? "fistq" : "fist") - self.y = @spriteY+4.0*@placingState*20/Graphics.frame_rate + self.y = @spriteY + 4.0 * @placingState * 20 / Graphics.frame_rate @placingState += 1 - elsif @placingState<=8*Graphics.frame_rate/20 + elsif @placingState <= 8 * Graphics.frame_rate / 20 @holding = false @heldpkmn = nil @handsprite.changeBitmap((@quickswap) ? "grabq" : "grab") - self.y = @spriteY+4*(8*Graphics.frame_rate/20-@placingState)*20/Graphics.frame_rate + self.y = @spriteY + 4 * (8 * Graphics.frame_rate / 20 - @placingState) * 20 / Graphics.frame_rate @placingState += 1 else @placingState = 0 @@ -330,14 +334,14 @@ class PokemonBoxArrow < SpriteWrapper else self.x = @spriteX self.y = @spriteY - if @frame=Graphics.frame_rate + @frame = 0 if @frame >= Graphics.frame_rate @updating = false end end @@ -349,7 +353,7 @@ class PokemonBoxSprite < SpriteWrapper attr_accessor :refreshBox attr_accessor :refreshSprites - def initialize(storage,boxnumber,viewport=nil) + def initialize(storage, boxnumber, viewport = nil, fusionsEnabled=true ) super(viewport) @storage = storage @boxnumber = boxnumber @@ -358,16 +362,32 @@ class PokemonBoxSprite < SpriteWrapper @pokemonsprites = [] for i in 0...PokemonBox::BOX_SIZE @pokemonsprites[i] = nil - pokemon = @storage[boxnumber,i] - @pokemonsprites[i] = PokemonBoxIcon.new(pokemon,viewport) + pokemon = @storage[boxnumber, i] + @pokemonsprites[i] = PokemonBoxIcon.new(pokemon, viewport) end - @contents = BitmapWrapper.new(324,296) + @contents = BitmapWrapper.new(324, 296) self.bitmap = @contents self.x = 184 self.y = 18 + + @fusions_enabled = fusionsEnabled refresh end + def disableFusions() + @fusions_enabled = false + refreshAllBoxSprites() + end + + def enableFusions() + @fusions_enabled = true + refreshAllBoxSprites() + end + + def isFusionEnabled + return @fusions_enabled + end + def dispose if !disposed? for i in 0...PokemonBox::BOX_SIZE @@ -413,10 +433,10 @@ class PokemonBoxSprite < SpriteWrapper end def getBoxBitmap - if !@bg || @bg!=@storage[@boxnumber].background + if !@bg || @bg != @storage[@boxnumber].background curbg = @storage[@boxnumber].background - if !curbg || (curbg.is_a?(String) && curbg.length==0) - @bg = @boxnumber%PokemonStorage::BASICWALLPAPERQTY + if !curbg || (curbg.is_a?(String) && curbg.length == 0) + @bg = @boxnumber % PokemonStorage::BASICWALLPAPERQTY else if curbg.is_a?(String) && curbg[/^box(\d+)$/] curbg = $~[1].to_i @@ -425,7 +445,7 @@ class PokemonBoxSprite < SpriteWrapper @bg = curbg end if !@storage.isAvailableWallpaper?(@bg) - @bg = @boxnumber%PokemonStorage::BASICWALLPAPERQTY + @bg = @boxnumber % PokemonStorage::BASICWALLPAPERQTY @storage[@boxnumber].background = @bg end @boxbitmap.dispose if @boxbitmap @@ -437,42 +457,42 @@ class PokemonBoxSprite < SpriteWrapper return @pokemonsprites[index] end - def setPokemon(index,sprite) + def setPokemon(index, sprite) @pokemonsprites[index] = sprite @pokemonsprites[index].refresh refresh end - def grabPokemon(index,arrow) + def grabPokemon(index, arrow) sprite = @pokemonsprites[index] if sprite arrow.grab(sprite) @pokemonsprites[index] = nil - refresh + update end end def deletePokemon(index) @pokemonsprites[index].dispose @pokemonsprites[index] = nil - refresh + update end def refresh if @refreshBox boxname = @storage[@boxnumber].name getBoxBitmap - @contents.blt(0,0,@boxbitmap.bitmap,Rect.new(0,0,324,296)) + @contents.blt(0, 0, @boxbitmap.bitmap, Rect.new(0, 0, 324, 296)) pbSetSystemFont(@contents) widthval = @contents.text_size(boxname).width - xval = 162-(widthval/2) - pbDrawShadowText(@contents,xval,8,widthval,32, - boxname,Color.new(248,248,248),Color.new(40,48,48)) + xval = 162 - (widthval / 2) + pbDrawShadowText(@contents, xval, 8, widthval, 32, + boxname, Color.new(248, 248, 248), Color.new(40, 48, 48)) @refreshBox = false end - yval = self.y+30 + yval = self.y + 30 for j in 0...PokemonBox::BOX_HEIGHT - xval = self.x+10 + xval = self.x + 10 for k in 0...PokemonBox::BOX_WIDTH sprite = @pokemonsprites[j * PokemonBox::BOX_WIDTH + k] if sprite && !sprite.disposed? @@ -487,6 +507,14 @@ class PokemonBoxSprite < SpriteWrapper end end + def refreshAllBoxSprites + for i in 0...PokemonBox::BOX_SIZE + if @pokemonsprites[i] && !@pokemonsprites[i].disposed? + @pokemonsprites[i].refresh(@fusions_enabled) + end + end + end + def update super for i in 0...PokemonBox::BOX_SIZE @@ -501,7 +529,7 @@ end # Party pop-up panel #=============================================================================== class PokemonBoxPartySprite < SpriteWrapper - def initialize(party,viewport=nil) + def initialize(party, viewport = nil) super(viewport) @party = party @boxbitmap = AnimatedBitmap.new("Graphics/Pictures/Storage/overlay_party") @@ -510,13 +538,13 @@ class PokemonBoxPartySprite < SpriteWrapper @pokemonsprites[i] = nil pokemon = @party[i] if pokemon - @pokemonsprites[i] = PokemonBoxIcon.new(pokemon,viewport) + @pokemonsprites[i] = PokemonBoxIcon.new(pokemon, viewport) end end - @contents = BitmapWrapper.new(172,352) + @contents = BitmapWrapper.new(172, 352) self.bitmap = @contents self.x = 182 - self.y = Graphics.height-352 + self.y = Graphics.height - 352 pbSetSystemFont(self.bitmap) refresh end @@ -544,7 +572,7 @@ class PokemonBoxPartySprite < SpriteWrapper super for i in 0...Settings::MAX_PARTY_SIZE if @pokemonsprites[i] && !@pokemonsprites[i].disposed? - @pokemonsprites[i].color = pbSrcOver(@pokemonsprites[i].color,value) + @pokemonsprites[i].color = pbSrcOver(@pokemonsprites[i].color, value) end end end @@ -562,13 +590,13 @@ class PokemonBoxPartySprite < SpriteWrapper return @pokemonsprites[index] end - def setPokemon(index,sprite) + def setPokemon(index, sprite) @pokemonsprites[index] = sprite @pokemonsprites.compact! refresh end - def grabPokemon(index,arrow) + def grabPokemon(index, arrow) sprite = @pokemonsprites[index] if sprite arrow.grab(sprite) @@ -587,11 +615,11 @@ class PokemonBoxPartySprite < SpriteWrapper def refresh @contents.blt(0, 0, @boxbitmap.bitmap, Rect.new(0, 0, 172, 352)) - pbDrawTextPositions(self.bitmap,[ - [_INTL("Back"), 86, 240, 2, Color.new(248, 248, 248), Color.new(80, 80, 80), 1] + pbDrawTextPositions(self.bitmap, [ + [_INTL("Back"), 86, 240, 2, Color.new(248, 248, 248), Color.new(80, 80, 80), 1] ]) - xvalues = [] # [18, 90, 18, 90, 18, 90] - yvalues = [] # [2, 18, 66, 82, 130, 146] + xvalues = [] # [18, 90, 18, 90, 18, 90] + yvalues = [] # [2, 18, 66, 82, 130, 146] for i in 0...Settings::MAX_PARTY_SIZE xvalues.push(18 + 72 * (i % 2)) yvalues.push(2 + 16 * (i % 2) + 64 * (i / 2)) @@ -624,49 +652,50 @@ end #=============================================================================== class PokemonStorageScene attr_reader :quickswap + attr_accessor :sprites def initialize @command = 1 end - def pbReleaseInstant(selected,heldpoke) - box=selected[0] - index=selected[1] + def pbReleaseInstant(selected, heldpoke) + box = selected[0] + index = selected[1] if heldpoke - sprite=@sprites["arrow"].heldPokemon - elsif box==-1 - sprite=@sprites["boxparty"].getPokemon(index) + sprite = @sprites["arrow"].heldPokemon + elsif box == -1 + sprite = @sprites["boxparty"].getPokemon(index) else - sprite=@sprites["box"].getPokemon(index) + sprite = @sprites["box"].getPokemon(index) end if sprite sprite.dispose end end - def pbStartBox(screen,command) + def pbStartBox(screen, command) @screen = screen @storage = screen.storage - @bgviewport = Viewport.new(0,0,Graphics.width,Graphics.height) + @bgviewport = Viewport.new(0, 0, Graphics.width, Graphics.height) @bgviewport.z = 99999 - @boxviewport = Viewport.new(0,0,Graphics.width,Graphics.height) + @boxviewport = Viewport.new(0, 0, Graphics.width, Graphics.height) @boxviewport.z = 99999 - @boxsidesviewport = Viewport.new(0,0,Graphics.width,Graphics.height) + @boxsidesviewport = Viewport.new(0, 0, Graphics.width, Graphics.height) @boxsidesviewport.z = 99999 - @arrowviewport = Viewport.new(0,0,Graphics.width,Graphics.height) + @arrowviewport = Viewport.new(0, 0, Graphics.width, Graphics.height) @arrowviewport.z = 99999 - @viewport = Viewport.new(0,0,Graphics.width,Graphics.height) + @viewport = Viewport.new(0, 0, Graphics.width, Graphics.height) @viewport.z = 99999 @selection = 0 @quickswap = false @sprites = {} @choseFromParty = false @command = command - addBackgroundPlane(@sprites,"background","Storage/bg",@bgviewport) - @sprites["box"] = PokemonBoxSprite.new(@storage,@storage.currentBox,@boxviewport) - @sprites["boxsides"] = IconSprite.new(0,0,@boxsidesviewport) + addBackgroundPlane(@sprites, "background", "Storage/bg", @bgviewport) + @sprites["box"] = PokemonBoxSprite.new(@storage, @storage.currentBox, @boxviewport) + @sprites["boxsides"] = IconSprite.new(0, 0, @boxsidesviewport) @sprites["boxsides"].setBitmap("Graphics/Pictures/Storage/overlay_main") - @sprites["overlay"] = BitmapSprite.new(Graphics.width,Graphics.height,@boxsidesviewport) + @sprites["overlay"] = BitmapSprite.new(Graphics.width, Graphics.height, @boxsidesviewport) pbSetSystemFont(@sprites["overlay"].bitmap) @sprites["pokemon"] = AutoMosaicPokemonSprite.new(@boxsidesviewport) @sprites["pokemon"].setOffset(PictureOrigin::Center) @@ -674,27 +703,27 @@ class PokemonStorageScene @sprites["pokemon"].y = 134 @sprites["pokemon"].zoom_y = Settings::FRONTSPRITE_SCALE @sprites["pokemon"].zoom_x = Settings::FRONTSPRITE_SCALE - @sprites["boxparty"] = PokemonBoxPartySprite.new(@storage.party,@boxsidesviewport) - if command!=2 # Drop down tab only on Deposit + @sprites["boxparty"] = PokemonBoxPartySprite.new(@storage.party, @boxsidesviewport) + if command != 2 # Drop down tab only on Deposit @sprites["boxparty"].x = 182 @sprites["boxparty"].y = Graphics.height end @markingbitmap = AnimatedBitmap.new("Graphics/Pictures/Storage/markings") - @sprites["markingbg"] = IconSprite.new(292,68,@boxsidesviewport) + @sprites["markingbg"] = IconSprite.new(292, 68, @boxsidesviewport) @sprites["markingbg"].setBitmap("Graphics/Pictures/Storage/overlay_marking") @sprites["markingbg"].visible = false - @sprites["markingoverlay"] = BitmapSprite.new(Graphics.width,Graphics.height,@boxsidesviewport) + @sprites["markingoverlay"] = BitmapSprite.new(Graphics.width, Graphics.height, @boxsidesviewport) @sprites["markingoverlay"].visible = false pbSetSystemFont(@sprites["markingoverlay"].bitmap) @sprites["arrow"] = PokemonBoxArrow.new(@arrowviewport) @sprites["arrow"].z += 1 - if command!=2 - pbSetArrow(@sprites["arrow"],@selection) + if command != 2 + pbSetArrow(@sprites["arrow"], @selection) pbUpdateOverlay(@selection) pbSetMosaic(@selection) else - pbPartySetArrow(@sprites["arrow"],@selection) - pbUpdateOverlay(@selection,@storage.party) + pbPartySetArrow(@sprites["arrow"], @selection) + pbUpdateOverlay(@selection, @storage.party) pbSetMosaic(@selection) end pbSEPlay("PC access") @@ -711,12 +740,12 @@ class PokemonStorageScene end def pbDisplay(message) - msgwindow = Window_UnformattedTextPokemon.newWithSize("",180,0,Graphics.width-180,32) - msgwindow.viewport = @viewport - msgwindow.visible = true + msgwindow = Window_UnformattedTextPokemon.newWithSize("", 180, 0, Graphics.width - 180, 32) + msgwindow.viewport = @viewport + msgwindow.visible = true msgwindow.letterbyletter = false - msgwindow.resizeHeightToFit(message,Graphics.width-180) - msgwindow.text = message + msgwindow.resizeHeightToFit(message, Graphics.width - 180) + msgwindow.text = message pbBottomRight(msgwindow) loop do Graphics.update @@ -731,23 +760,23 @@ class PokemonStorageScene Input.update end - def pbShowCommands(message,commands,index=0) + def pbShowCommands(message, commands, index = 0) ret = -1 - msgwindow = Window_UnformattedTextPokemon.newWithSize("",180,0,Graphics.width-180,32) - msgwindow.viewport = @viewport - msgwindow.visible = true + msgwindow = Window_UnformattedTextPokemon.newWithSize("", 180, 0, Graphics.width - 180, 32) + msgwindow.viewport = @viewport + msgwindow.visible = true msgwindow.letterbyletter = false - msgwindow.text = message - msgwindow.resizeHeightToFit(message,Graphics.width-180) + msgwindow.text = message + msgwindow.resizeHeightToFit(message, Graphics.width - 180) pbBottomRight(msgwindow) cmdwindow = Window_CommandPokemon.new(commands) cmdwindow.viewport = @viewport - cmdwindow.visible = true + cmdwindow.visible = true cmdwindow.resizeToFit(cmdwindow.commands) - cmdwindow.height = Graphics.height-msgwindow.height if cmdwindow.height>Graphics.height-msgwindow.height + cmdwindow.height = Graphics.height - msgwindow.height if cmdwindow.height > Graphics.height - msgwindow.height pbBottomRight(cmdwindow) - cmdwindow.y -= msgwindow.height - cmdwindow.index = index + cmdwindow.y -= msgwindow.height + cmdwindow.index = index loop do Graphics.update Input.update @@ -768,73 +797,73 @@ class PokemonStorageScene return ret end - def pbSetArrow(arrow,selection) + def pbSetArrow(arrow, selection) case selection when -1, -4, -5 # Box name, move left, move right - arrow.x = 157*2 - arrow.y = -12*2 + arrow.x = 157 * 2 + arrow.y = -12 * 2 when -2 # Party Pokémon - arrow.x = 119*2 - arrow.y = 139*2 + arrow.x = 119 * 2 + arrow.y = 139 * 2 when -3 # Close Box - arrow.x = 207*2 - arrow.y = 139*2 + arrow.x = 207 * 2 + arrow.y = 139 * 2 else arrow.x = (97 + 24 * (selection % PokemonBox::BOX_WIDTH)) * 2 arrow.y = (8 + 24 * (selection / PokemonBox::BOX_WIDTH)) * 2 end end - def pbChangeSelection(key,selection) + def pbChangeSelection(key, selection) case key when Input::UP - if selection==-1 # Box name + if selection == -1 # Box name selection = -2 - elsif selection==-2 # Party - selection = PokemonBox::BOX_SIZE - 1 - PokemonBox::BOX_WIDTH * 2 / 3 # 25 - elsif selection==-3 # Close Box - selection = PokemonBox::BOX_SIZE - PokemonBox::BOX_WIDTH / 3 # 28 + elsif selection == -2 # Party + selection = PokemonBox::BOX_SIZE - 1 - PokemonBox::BOX_WIDTH * 2 / 3 # 25 + elsif selection == -3 # Close Box + selection = PokemonBox::BOX_SIZE - PokemonBox::BOX_WIDTH / 3 # 28 else selection -= PokemonBox::BOX_WIDTH selection = -1 if selection < 0 end when Input::DOWN - if selection==-1 # Box name - selection = PokemonBox::BOX_WIDTH / 3 # 2 - elsif selection==-2 # Party + if selection == -1 # Box name + selection = PokemonBox::BOX_WIDTH / 3 # 2 + elsif selection == -2 # Party selection = -1 - elsif selection==-3 # Close Box + elsif selection == -3 # Close Box selection = -1 else selection += PokemonBox::BOX_WIDTH if selection >= PokemonBox::BOX_SIZE if selection < PokemonBox::BOX_SIZE + PokemonBox::BOX_WIDTH / 2 - selection = -2 # Party + selection = -2 # Party else - selection = -3 # Close Box + selection = -3 # Close Box end end end when Input::LEFT - if selection==-1 # Box name - selection = -4 # Move to previous box - elsif selection==-2 + if selection == -1 # Box name + selection = -4 # Move to previous box + elsif selection == -2 selection = -3 - elsif selection==-3 + elsif selection == -3 selection = -2 - elsif (selection % PokemonBox::BOX_WIDTH) == 0 # Wrap around + elsif (selection % PokemonBox::BOX_WIDTH) == 0 # Wrap around selection += PokemonBox::BOX_WIDTH - 1 else selection -= 1 end when Input::RIGHT - if selection==-1 # Box name - selection = -5 # Move to next box - elsif selection==-2 + if selection == -1 # Box name + selection = -5 # Move to next box + elsif selection == -2 selection = -3 - elsif selection==-3 + elsif selection == -3 selection = -2 - elsif (selection % PokemonBox::BOX_WIDTH) == PokemonBox::BOX_WIDTH - 1 # Wrap around + elsif (selection % PokemonBox::BOX_WIDTH) == PokemonBox::BOX_WIDTH - 1 # Wrap around selection -= PokemonBox::BOX_WIDTH - 1 else selection += 1 @@ -843,10 +872,10 @@ class PokemonStorageScene return selection end - def pbPartySetArrow(arrow,selection) + def pbPartySetArrow(arrow, selection) return if selection < 0 - xvalues = [] # [200, 272, 200, 272, 200, 272, 236] - yvalues = [] # [2, 18, 66, 82, 130, 146, 220] + xvalues = [] # [200, 272, 200, 272, 200, 272, 236] + yvalues = [] # [2, 18, 66, 82, 130, 146, 220] for i in 0...Settings::MAX_PARTY_SIZE xvalues.push(200 + 72 * (i % 2)) yvalues.push(2 + 16 * (i % 2) + 64 * (i / 2)) @@ -861,7 +890,7 @@ class PokemonStorageScene arrow.y = yvalues[selection] end - def pbPartyChangeSelection(key,selection) + def pbPartyChangeSelection(key, selection) case key when Input::LEFT selection -= 1 @@ -889,7 +918,7 @@ class PokemonStorageScene def pbSelectBoxInternal(_party) selection = @selection - pbSetArrow(@sprites["arrow"],selection) + pbSetArrow(@sprites["arrow"], selection) pbUpdateOverlay(selection) pbSetMosaic(selection) loop do @@ -900,47 +929,47 @@ class PokemonStorageScene key = Input::RIGHT if Input.repeat?(Input::RIGHT) key = Input::LEFT if Input.repeat?(Input::LEFT) key = Input::UP if Input.repeat?(Input::UP) - if key>=0 + if key >= 0 pbPlayCursorSE - selection = pbChangeSelection(key,selection) - pbSetArrow(@sprites["arrow"],selection) - if selection==-4 - nextbox = (@storage.currentBox+@storage.maxBoxes-1)%@storage.maxBoxes + selection = pbChangeSelection(key, selection) + pbSetArrow(@sprites["arrow"], selection) + if selection == -4 + nextbox = (@storage.currentBox + @storage.maxBoxes - 1) % @storage.maxBoxes pbSwitchBoxToLeft(nextbox) @storage.currentBox = nextbox - elsif selection==-5 - nextbox = (@storage.currentBox+1)%@storage.maxBoxes + elsif selection == -5 + nextbox = (@storage.currentBox + 1) % @storage.maxBoxes pbSwitchBoxToRight(nextbox) @storage.currentBox = nextbox end - selection = -1 if selection==-4 || selection==-5 + selection = -1 if selection == -4 || selection == -5 pbUpdateOverlay(selection) pbSetMosaic(selection) end self.update if Input.trigger?(Input::JUMPUP) pbPlayCursorSE - nextbox = (@storage.currentBox+@storage.maxBoxes-1)%@storage.maxBoxes + nextbox = (@storage.currentBox + @storage.maxBoxes - 1) % @storage.maxBoxes pbSwitchBoxToLeft(nextbox) @storage.currentBox = nextbox pbUpdateOverlay(selection) pbSetMosaic(selection) elsif Input.trigger?(Input::JUMPDOWN) pbPlayCursorSE - nextbox = (@storage.currentBox+1)%@storage.maxBoxes + nextbox = (@storage.currentBox + 1) % @storage.maxBoxes pbSwitchBoxToRight(nextbox) @storage.currentBox = nextbox pbUpdateOverlay(selection) pbSetMosaic(selection) - elsif Input.trigger?(Input::SPECIAL) # Jump to box name - if selection!=-1 + elsif Input.trigger?(Input::SPECIAL) # Jump to box name + if selection != -1 pbPlayCursorSE selection = -1 - pbSetArrow(@sprites["arrow"],selection) + pbSetArrow(@sprites["arrow"], selection) pbUpdateOverlay(selection) pbSetMosaic(selection) end - elsif Input.trigger?(Input::ACTION) && @command==0 # Organize only + elsif Input.trigger?(Input::ACTION) && @command == 0 # Organize only pbPlayDecisionSE pbSetQuickSwap(!@quickswap) elsif Input.trigger?(Input::BACK) @@ -948,39 +977,39 @@ class PokemonStorageScene return nil elsif Input.trigger?(Input::USE) @selection = selection - if selection>=0 - return [@storage.currentBox,selection] - elsif selection==-1 # Box name - return [-4,-1] - elsif selection==-2 # Party Pokémon - return [-2,-1] - elsif selection==-3 # Close Box - return [-3,-1] + if selection >= 0 + return [@storage.currentBox, selection] + elsif selection == -1 # Box name + return [-4, -1] + elsif selection == -2 # Party Pokémon + return [-2, -1] + elsif selection == -3 # Close Box + return [-3, -1] end end end end def pbSelectBox(party) - return pbSelectBoxInternal(party) if @command==1 # Withdraw + return pbSelectBoxInternal(party) if @command == 1 # Withdraw ret = nil loop do if !@choseFromParty ret = pbSelectBoxInternal(party) end - if @choseFromParty || (ret && ret[0]==-2) # Party Pokémon + if @choseFromParty || (ret && ret[0] == -2) # Party Pokémon if !@choseFromParty pbShowPartyTab @selection = 0 end - ret = pbSelectPartyInternal(party,false) - if ret<0 + ret = pbSelectPartyInternal(party, false) + if ret < 0 pbHidePartyTab @selection = 0 @choseFromParty = false else @choseFromParty = true - return [-1,ret] + return [-1, ret] end else @choseFromParty = false @@ -989,10 +1018,10 @@ class PokemonStorageScene end end - def pbSelectPartyInternal(party,depositing) + def pbSelectPartyInternal(party, depositing) selection = @selection - pbPartySetArrow(@sprites["arrow"],selection) - pbUpdateOverlay(selection,party) + pbPartySetArrow(@sprites["arrow"], selection) + pbUpdateOverlay(selection, party) pbSetMosaic(selection) lastsel = 1 loop do @@ -1003,23 +1032,23 @@ class PokemonStorageScene key = Input::RIGHT if Input.repeat?(Input::RIGHT) key = Input::LEFT if Input.repeat?(Input::LEFT) key = Input::UP if Input.repeat?(Input::UP) - if key>=0 + if key >= 0 pbPlayCursorSE - newselection = pbPartyChangeSelection(key,selection) - if newselection==-1 + newselection = pbPartyChangeSelection(key, selection) + if newselection == -1 return -1 if !depositing - elsif newselection==-2 + elsif newselection == -2 selection = lastsel else selection = newselection end - pbPartySetArrow(@sprites["arrow"],selection) - lastsel = selection if selection>0 - pbUpdateOverlay(selection,party) + pbPartySetArrow(@sprites["arrow"], selection) + lastsel = selection if selection > 0 + pbUpdateOverlay(selection, party) pbSetMosaic(selection) end self.update - if Input.trigger?(Input::ACTION) && @command == 0 # Organize only + if Input.trigger?(Input::ACTION) && @command == 0 # Organize only pbPlayDecisionSE pbSetQuickSwap(!@quickswap) elsif Input.trigger?(Input::BACK) @@ -1029,7 +1058,7 @@ class PokemonStorageScene if selection >= 0 && selection < Settings::MAX_PARTY_SIZE @selection = selection return selection - elsif selection == Settings::MAX_PARTY_SIZE # Close Box + elsif selection == Settings::MAX_PARTY_SIZE # Close Box @selection = selection return (depositing) ? -3 : -1 end @@ -1038,7 +1067,7 @@ class PokemonStorageScene end def pbSelectParty(party) - return pbSelectPartyInternal(party,true) + return pbSelectPartyInternal(party, true) end def pbChangeBackground(wp) @@ -1046,18 +1075,18 @@ class PokemonStorageScene alpha = 0 Graphics.update self.update - timeTaken = Graphics.frame_rate*4/10 - alphaDiff = (255.0/timeTaken).ceil + timeTaken = Graphics.frame_rate * 4 / 10 + alphaDiff = (255.0 / timeTaken).ceil timeTaken.times do alpha += alphaDiff Graphics.update Input.update - @sprites["box"].color = Color.new(248,248,248,alpha) + @sprites["box"].color = Color.new(248, 248, 248, alpha) self.update end @sprites["box"].refreshBox = true @storage[@storage.currentBox].background = wp - (Graphics.frame_rate/10).times do + (Graphics.frame_rate / 10).times do Graphics.update Input.update self.update @@ -1066,67 +1095,70 @@ class PokemonStorageScene alpha -= alphaDiff Graphics.update Input.update - @sprites["box"].color = Color.new(248,248,248,alpha) + @sprites["box"].color = Color.new(248, 248, 248, alpha) self.update end @sprites["box"].refreshSprites = true end def pbSwitchBoxToRight(newbox) - newbox = PokemonBoxSprite.new(@storage,newbox,@boxviewport) + newbox = PokemonBoxSprite.new(@storage, newbox, @boxviewport,@sprites["box"].isFusionEnabled) newbox.x = 520 Graphics.frame_reset - distancePerFrame = 64*20/Graphics.frame_rate + distancePerFrame = 64 * 20 / Graphics.frame_rate loop do Graphics.update Input.update @sprites["box"].x -= distancePerFrame newbox.x -= distancePerFrame self.update - break if newbox.x<=184 + break if newbox.x <= 184 end - diff = newbox.x-184 + diff = newbox.x - 184 newbox.x = 184 @sprites["box"].x -= diff @sprites["box"].dispose @sprites["box"] = newbox + newbox.refreshAllBoxSprites end def pbSwitchBoxToLeft(newbox) - newbox = PokemonBoxSprite.new(@storage,newbox,@boxviewport) + newbox = PokemonBoxSprite.new(@storage, newbox, @boxviewport,@sprites["box"].isFusionEnabled) newbox.x = -152 Graphics.frame_reset - distancePerFrame = 64*20/Graphics.frame_rate + distancePerFrame = 64 * 20 / Graphics.frame_rate loop do Graphics.update Input.update @sprites["box"].x += distancePerFrame newbox.x += distancePerFrame self.update - break if newbox.x>=184 + break if newbox.x >= 184 end - diff = newbox.x-184 + diff = newbox.x - 184 newbox.x = 184 @sprites["box"].x -= diff @sprites["box"].dispose @sprites["box"] = newbox + newbox.refreshAllBoxSprites end def pbJumpToBox(newbox) - if @storage.currentBox!=newbox - if newbox>@storage.currentBox + if @storage.currentBox != newbox + if newbox > @storage.currentBox pbSwitchBoxToRight(newbox) else pbSwitchBoxToLeft(newbox) end @storage.currentBox = newbox + newbox.refreshAllBoxSprites end end def pbSetMosaic(selection) if !@screen.pbHeldPokemon - if @boxForMosaic!=@storage.currentBox || @selectionForMosaic!=selection - @sprites["pokemon"].mosaic = Graphics.frame_rate/4 + if @boxForMosaic != @storage.currentBox || @selectionForMosaic != selection + @sprites["pokemon"].mosaic = Graphics.frame_rate / 4 @boxForMosaic = @storage.currentBox @selectionForMosaic = selection end @@ -1140,36 +1172,36 @@ class PokemonStorageScene def pbShowPartyTab pbSEPlay("GUI storage show party panel") - distancePerFrame = 48*20/Graphics.frame_rate + distancePerFrame = 48 * 20 / Graphics.frame_rate loop do Graphics.update Input.update @sprites["boxparty"].y -= distancePerFrame self.update - break if @sprites["boxparty"].y<=Graphics.height-352 + break if @sprites["boxparty"].y <= Graphics.height - 352 end - @sprites["boxparty"].y = Graphics.height-352 + @sprites["boxparty"].y = Graphics.height - 352 end def pbHidePartyTab pbSEPlay("GUI storage hide party panel") - distancePerFrame = 48*20/Graphics.frame_rate + distancePerFrame = 48 * 20 / Graphics.frame_rate loop do Graphics.update Input.update @sprites["boxparty"].y += distancePerFrame self.update - break if @sprites["boxparty"].y>=Graphics.height + break if @sprites["boxparty"].y >= Graphics.height end @sprites["boxparty"].y = Graphics.height end def pbHold(selected) pbSEPlay("GUI storage pick up") - if selected[0]==-1 - @sprites["boxparty"].grabPokemon(selected[1],@sprites["arrow"]) + if selected[0] == -1 + @sprites["boxparty"].grabPokemon(selected[1], @sprites["arrow"]) else - @sprites["box"].grabPokemon(selected[1],@sprites["arrow"]) + @sprites["box"].grabPokemon(selected[1], @sprites["arrow"]) end while @sprites["arrow"].grabbing? Graphics.update @@ -1178,19 +1210,19 @@ class PokemonStorageScene end end - def pbSwap(selected,_heldpoke) + def pbSwap(selected, _heldpoke) pbSEPlay("GUI storage pick up") heldpokesprite = @sprites["arrow"].heldPokemon boxpokesprite = nil - if selected[0]==-1 + if selected[0] == -1 boxpokesprite = @sprites["boxparty"].getPokemon(selected[1]) else boxpokesprite = @sprites["box"].getPokemon(selected[1]) end - if selected[0]==-1 - @sprites["boxparty"].setPokemon(selected[1],heldpokesprite) + if selected[0] == -1 + @sprites["boxparty"].setPokemon(selected[1], heldpokesprite) else - @sprites["box"].setPokemon(selected[1],heldpokesprite) + @sprites["box"].setPokemon(selected[1], heldpokesprite) end @sprites["arrow"].setSprite(boxpokesprite) @sprites["pokemon"].mosaic = 10 @@ -1198,7 +1230,7 @@ class PokemonStorageScene @selectionForMosaic = selected[1] end - def pbPlace(selected,_heldpoke) + def pbPlace(selected, _heldpoke) pbSEPlay("GUI storage put down") heldpokesprite = @sprites["arrow"].heldPokemon @sprites["arrow"].place @@ -1207,49 +1239,49 @@ class PokemonStorageScene Input.update self.update end - if selected[0]==-1 - @sprites["boxparty"].setPokemon(selected[1],heldpokesprite) + if selected[0] == -1 + @sprites["boxparty"].setPokemon(selected[1], heldpokesprite) else - @sprites["box"].setPokemon(selected[1],heldpokesprite) + @sprites["box"].setPokemon(selected[1], heldpokesprite) end @boxForMosaic = @storage.currentBox @selectionForMosaic = selected[1] end - def pbWithdraw(selected,heldpoke,partyindex) + def pbWithdraw(selected, heldpoke, partyindex) pbHold(selected) if !heldpoke pbShowPartyTab - pbPartySetArrow(@sprites["arrow"],partyindex) - pbPlace([-1,partyindex],heldpoke) + pbPartySetArrow(@sprites["arrow"], partyindex) + pbPlace([-1, partyindex], heldpoke) pbHidePartyTab end - def pbStore(selected,heldpoke,destbox,firstfree) + def pbStore(selected, heldpoke, destbox, firstfree) if heldpoke - if destbox==@storage.currentBox + if destbox == @storage.currentBox heldpokesprite = @sprites["arrow"].heldPokemon - @sprites["box"].setPokemon(firstfree,heldpokesprite) + @sprites["box"].setPokemon(firstfree, heldpokesprite) @sprites["arrow"].setSprite(nil) else @sprites["arrow"].deleteSprite end else sprite = @sprites["boxparty"].getPokemon(selected[1]) - if destbox==@storage.currentBox - @sprites["box"].setPokemon(firstfree,sprite) - @sprites["boxparty"].setPokemon(selected[1],nil) + if destbox == @storage.currentBox + @sprites["box"].setPokemon(firstfree, sprite) + @sprites["boxparty"].setPokemon(selected[1], nil) else @sprites["boxparty"].deletePokemon(selected[1]) end end end - def pbRelease(selected,heldpoke) + def pbRelease(selected, heldpoke) box = selected[0] index = selected[1] if heldpoke sprite = @sprites["arrow"].heldPokemon - elsif box==-1 + elsif box == -1 sprite = @sprites["boxparty"].getPokemon(index) else sprite = @sprites["box"].getPokemon(index) @@ -1269,109 +1301,117 @@ class PokemonStorageScene for i in 0...@storage.maxBoxes box = @storage[i] if box - commands.push(_INTL("{1} ({2}/{3})",box.name,box.nitems,box.length)) + commands.push(_INTL("{1} ({2}/{3})", box.name, box.nitems, box.length)) end end - return pbShowCommands(msg,commands,@storage.currentBox) + return pbShowCommands(msg, commands, @storage.currentBox) end - def pbBoxName(helptext,minchars,maxchars) + def pbBoxName(helptext, minchars, maxchars) oldsprites = pbFadeOutAndHide(@sprites) - ret = pbEnterBoxName(helptext,minchars,maxchars) - if ret.length>0 + ret = pbEnterBoxName(helptext, minchars, maxchars) + if ret.length > 0 @storage[@storage.currentBox].name = ret end @sprites["box"].refreshBox = true pbRefresh - pbFadeInAndShow(@sprites,oldsprites) + pbFadeInAndShow(@sprites, oldsprites) end def pbChooseItem(bag) ret = nil pbFadeOutIn { scene = PokemonBag_Scene.new - screen = PokemonBagScreen.new(scene,bag) + screen = PokemonBagScreen.new(scene, bag) ret = screen.pbChooseItemScreen(Proc.new { |item| GameData::Item.get(item).can_hold? }) } return ret end - def pbSummary(selected,heldpoke) + def pbSummary(selected, heldpoke) oldsprites = pbFadeOutAndHide(@sprites) scene = PokemonSummary_Scene.new screen = PokemonSummaryScreen.new(scene) if heldpoke - screen.pbStartScreen([heldpoke],0) - elsif selected[0]==-1 - @selection = screen.pbStartScreen(@storage.party,selected[1]) - pbPartySetArrow(@sprites["arrow"],@selection) - pbUpdateOverlay(@selection,@storage.party) + screen.pbStartScreen([heldpoke], 0) + elsif selected[0] == -1 + @selection = screen.pbStartScreen(@storage.party, selected[1]) + pbPartySetArrow(@sprites["arrow"], @selection) + pbUpdateOverlay(@selection, @storage.party) else - @selection = screen.pbStartScreen(@storage.boxes[selected[0]],selected[1]) - pbSetArrow(@sprites["arrow"],@selection) + @selection = screen.pbStartScreen(@storage.boxes[selected[0]], selected[1]) + pbSetArrow(@sprites["arrow"], @selection) pbUpdateOverlay(@selection) end - pbFadeInAndShow(@sprites,oldsprites) + pbFadeInAndShow(@sprites, oldsprites) end - def pbMarkingSetArrow(arrow,selection) - if selection>=0 - xvalues = [162,191,220,162,191,220,184,184] - yvalues = [24,24,24,49,49,49,77,109] + def pbMarkingSetArrow(arrow, selection) + if selection >= 0 + xvalues = [162, 191, 220, 162, 191, 220, 184, 184] + yvalues = [24, 24, 24, 49, 49, 49, 77, 109] arrow.angle = 0 arrow.mirror = false arrow.ox = 0 arrow.oy = 0 - arrow.x = xvalues[selection]*2 - arrow.y = yvalues[selection]*2 + arrow.x = xvalues[selection] * 2 + arrow.y = yvalues[selection] * 2 end end - def pbMarkingChangeSelection(key,selection) + def pbMarkingChangeSelection(key, selection) case key when Input::LEFT - if selection<6 + if selection < 6 selection -= 1 - selection += 3 if selection%3==2 + selection += 3 if selection % 3 == 2 end when Input::RIGHT - if selection<6 + if selection < 6 selection += 1 - selection -= 3 if selection%3==0 + selection -= 3 if selection % 3 == 0 end when Input::UP - if selection==7; selection = 6 - elsif selection==6; selection = 4 - elsif selection<3; selection = 7 - else; selection -= 3 + if selection == 7; + selection = 6 + elsif selection == 6; + selection = 4 + elsif selection < 3; + selection = 7 + else + ; selection -= 3 end when Input::DOWN - if selection==7; selection = 1 - elsif selection==6; selection = 7 - elsif selection>=3; selection = 6 - else; selection += 3 + if selection == 7; + selection = 1 + elsif selection == 6; + selection = 7 + elsif selection >= 3; + selection = 6 + else + ; selection += 3 end end return selection end - def pbMark(selected,heldpoke) - @sprites["markingbg"].visible = true + def pbMark(selected, heldpoke) + @sprites["markingbg"].visible = true @sprites["markingoverlay"].visible = true msg = _INTL("Mark your Pokémon.") - msgwindow = Window_UnformattedTextPokemon.newWithSize("",180,0,Graphics.width-180,32) - msgwindow.viewport = @viewport - msgwindow.visible = true + msgwindow = Window_UnformattedTextPokemon.newWithSize("", 180, 0, Graphics.width - 180, 32) + msgwindow.viewport = @viewport + msgwindow.visible = true msgwindow.letterbyletter = false - msgwindow.text = msg - msgwindow.resizeHeightToFit(msg,Graphics.width-180) + msgwindow.text = msg + msgwindow.resizeHeightToFit(msg, Graphics.width - 180) pbBottomRight(msgwindow) - base = Color.new(248,248,248) - shadow = Color.new(80,80,80) + base = Color.new(248, 248, 248) + shadow = Color.new(80, 80, 80) pokemon = heldpoke if heldpoke pokemon = heldpoke - elsif selected[0]==-1 + elsif selected[0] == -1 pokemon = @storage.party[selected[1]] else pokemon = @storage.boxes[selected[0]][selected[1]] @@ -1379,22 +1419,22 @@ class PokemonStorageScene markings = pokemon.markings index = 0 redraw = true - markrect = Rect.new(0,0,16,16) + markrect = Rect.new(0, 0, 16, 16) loop do # Redraw the markings and text if redraw @sprites["markingoverlay"].bitmap.clear for i in 0...6 - markrect.x = i*16 - markrect.y = (markings&(1<=0 + if key >= 0 oldindex = index - index = pbMarkingChangeSelection(key,index) - pbPlayCursorSE if index!=oldindex - pbMarkingSetArrow(@sprites["arrow"],index) + index = pbMarkingChangeSelection(key, index) + pbPlayCursorSE if index != oldindex + pbMarkingSetArrow(@sprites["arrow"], index) end self.update if Input.trigger?(Input::BACK) @@ -1416,14 +1456,14 @@ class PokemonStorageScene break elsif Input.trigger?(Input::USE) pbPlayDecisionSE - if index==6 # OK + if index == 6 # OK pokemon.markings = markings break - elsif index==7 # Cancel + elsif index == 7 # Cancel break else - mask = (1<=0 - pokemon = (party) ? party[selection] : @storage[@storage.currentBox,selection] + elsif selection >= 0 + pokemon = (party) ? party[selection] : @storage[@storage.currentBox, selection] end if !pokemon @sprites["pokemon"].visible = false return end @sprites["pokemon"].visible = true - base = Color.new(88,88,80) - shadow = Color.new(168,184,184) - nonbase = Color.new(208,208,208) - nonshadow = Color.new(224,224,224) + base = Color.new(88, 88, 80) + shadow = Color.new(168, 184, 184) + nonbase = Color.new(208, 208, 208) + nonshadow = Color.new(224, 224, 224) pokename = pokemon.name textstrings = [ - [pokename,10,2,false,base,shadow] + [pokename, 10, 2, false, base, shadow] ] if !pokemon.egg? imagepos = [] if pokemon.male? - textstrings.push([_INTL("♂"),148,2,false,Color.new(24,112,216),Color.new(136,168,208)]) + textstrings.push([_INTL("♂"), 148, 2, false, Color.new(24, 112, 216), Color.new(136, 168, 208)]) elsif pokemon.female? - textstrings.push([_INTL("♀"),148,2,false,Color.new(248,56,32),Color.new(224,152,144)]) + textstrings.push([_INTL("♀"), 148, 2, false, Color.new(248, 56, 32), Color.new(224, 152, 144)]) end - imagepos.push(["Graphics/Pictures/Storage/overlay_lv",6,246]) - textstrings.push([pokemon.level.to_s,28,228,false,base,shadow]) + imagepos.push(["Graphics/Pictures/Storage/overlay_lv", 6, 246]) + textstrings.push([pokemon.level.to_s, 28, 228, false, base, shadow]) if pokemon.ability - textstrings.push([pokemon.ability.name,86,300,2,base,shadow]) + textstrings.push([pokemon.ability.name, 86, 300, 2, base, shadow]) else - textstrings.push([_INTL("No ability"),86,300,2,nonbase,nonshadow]) + textstrings.push([_INTL("No ability"), 86, 300, 2, nonbase, nonshadow]) end if pokemon.item - textstrings.push([pokemon.item.name,86,336,2,base,shadow]) + textstrings.push([pokemon.item.name, 86, 336, 2, base, shadow]) else - textstrings.push([_INTL("No item"),86,336,2,nonbase,nonshadow]) + textstrings.push([_INTL("No item"), 86, 336, 2, nonbase, nonshadow]) end if pokemon.shiny? - imagepos.push(["Graphics/Pictures/shiny",156,198]) + imagepos.push(["Graphics/Pictures/shiny", 156, 198]) end typebitmap = AnimatedBitmap.new(_INTL("Graphics/Pictures/types")) type1_number = GameData::Type.get(pokemon.type1).id_number type2_number = GameData::Type.get(pokemon.type2).id_number type1rect = Rect.new(0, type1_number * 28, 64, 28) type2rect = Rect.new(0, type2_number * 28, 64, 28) - if pokemon.type1==pokemon.type2 - overlay.blt(52,272,typebitmap.bitmap,type1rect) + if pokemon.type1 == pokemon.type2 + overlay.blt(52, 272, typebitmap.bitmap, type1rect) else - overlay.blt(18,272,typebitmap.bitmap,type1rect) - overlay.blt(88,272,typebitmap.bitmap,type2rect) + overlay.blt(18, 272, typebitmap.bitmap, type1rect) + overlay.blt(88, 272, typebitmap.bitmap, type2rect) end - drawMarkings(overlay,70,240,128,20,pokemon.markings) - pbDrawImagePositions(overlay,imagepos) + drawMarkings(overlay, 70, 240, 128, 20, pokemon.markings) + pbDrawImagePositions(overlay, imagepos) end - pbDrawTextPositions(overlay,textstrings) + pbDrawTextPositions(overlay, textstrings) @sprites["pokemon"].setPokemonBitmap(pokemon) end @@ -1532,11 +1572,8 @@ class PokemonStorageScene pbUpdateSpriteHash(@sprites) end - - - - def setFusing(fusing,item=0) - sprite=@sprites["arrow"].setFusing(fusing) + def setFusing(fusing, item = 0) + sprite = @sprites["arrow"].setFusing(fusing) if item == :INFINITESPLICERS @sprites["arrow"].setSplicerType(2) elsif item == :SUPERSPLICERS @@ -1556,29 +1593,28 @@ class PokemonStorageScreen attr_reader :scene attr_reader :storage attr_accessor :heldpkmn + attr_accessor :fusionMode - def initialize(scene,storage) + def initialize(scene, storage) @scene = scene @storage = storage @pbHeldPokemon = nil end - - def pbStartScreen(command) @heldpkmn = nil - if command==0 # Organise - @scene.pbStartBox(self,command) + if command == 0 # Organise + @scene.pbStartBox(self, command) loop do selected = @scene.pbSelectBox(@storage.party) - if selected==nil + if selected == nil if pbHeldPokemon pbDisplay(_INTL("You're holding a Pokémon!")) next end next if pbConfirm(_INTL("Continue Box operations?")) break - elsif selected[0]==-3 # Close box + elsif selected[0] == -3 # Close box if pbHeldPokemon pbDisplay(_INTL("You're holding a Pokémon!")) next @@ -1588,10 +1624,10 @@ class PokemonStorageScreen break end next - elsif selected[0]==-4 # Box name + elsif selected[0] == -4 # Box name pbBoxCommands else - pokemon = @storage[selected[0],selected[1]] + pokemon = @storage[selected[0], selected[1]] heldpoke = pbHeldPokemon next if !pokemon && !heldpoke if @scene.quickswap @@ -1604,156 +1640,164 @@ class PokemonStorageScreen if @fusionMode pbFusionCommands(selected) else - commands = [] - cmdMove = -1 - cmdSummary = -1 - cmdWithdraw = -1 - cmdItem = -1 - cmdFuse = -1 - cmdUnfuse = -1 - cmdRelease = -1 - cmdDebug = -1 - cmdCancel = -1 - if heldpoke - helptext = _INTL("{1} is selected.",heldpoke.name) - commands[cmdMove=commands.length] = (pokemon) ? _INTL("Shift") : _INTL("Place") - elsif pokemon - helptext = _INTL("{1} is selected.",pokemon.name) - commands[cmdMove=commands.length] = _INTL("Move") - end - commands[cmdSummary=commands.length] = _INTL("Summary") - if pokemon != nil - if dexNum(pokemon.species) > NB_POKEMON - commands[cmdUnfuse=commands.length] = _INTL("Unfuse") - else - commands[cmdFuse=commands.length] = _INTL("Fuse") + commands = [] + cmdMove = -1 + cmdSummary = -1 + cmdWithdraw = -1 + cmdItem = -1 + cmdFuse = -1 + cmdUnfuse = -1 + cmdRelease = -1 + cmdDebug = -1 + cmdCancel = -1 + if heldpoke + helptext = _INTL("{1} is selected.", heldpoke.name) + commands[cmdMove = commands.length] = (pokemon) ? _INTL("Shift") : _INTL("Place") + elsif pokemon + helptext = _INTL("{1} is selected.", pokemon.name) + commands[cmdMove = commands.length] = _INTL("Move") end - end - commands[cmdWithdraw=commands.length] = (selected[0]==-1) ? _INTL("Store") : _INTL("Withdraw") - commands[cmdItem=commands.length] = _INTL("Item") + commands[cmdSummary = commands.length] = _INTL("Summary") + if pokemon != nil + if dexNum(pokemon.species) > NB_POKEMON + commands[cmdUnfuse = commands.length] = _INTL("Unfuse") + else + commands[cmdFuse = commands.length] = _INTL("Fuse") + end + end + commands[cmdWithdraw = commands.length] = (selected[0] == -1) ? _INTL("Store") : _INTL("Withdraw") + commands[cmdItem = commands.length] = _INTL("Item") - commands[cmdRelease=commands.length] = _INTL("Release") - commands[cmdDebug=commands.length] = _INTL("Debug") if $DEBUG - commands[cmdCancel=commands.length] = _INTL("Cancel") - command=pbShowCommands(helptext,commands) - if cmdMove>=0 && command==cmdMove # Move/Shift/Place - if @heldpkmn - (pokemon) ? pbSwap(selected) : pbPlace(selected) - else - pbHold(selected) + commands[cmdRelease = commands.length] = _INTL("Release") + commands[cmdDebug = commands.length] = _INTL("Debug") if $DEBUG + commands[cmdCancel = commands.length] = _INTL("Cancel") + command = pbShowCommands(helptext, commands) + if cmdMove >= 0 && command == cmdMove # Move/Shift/Place + if @heldpkmn + (pokemon) ? pbSwap(selected) : pbPlace(selected) + else + pbHold(selected) + end + elsif cmdSummary >= 0 && command == cmdSummary # Summary + pbSummary(selected, @heldpkmn) + elsif cmdWithdraw >= 0 && command == cmdWithdraw # Store/Withdraw + (selected[0] == -1) ? pbStore(selected, @heldpkmn) : pbWithdraw(selected, @heldpkmn) + elsif cmdItem >= 0 && command == cmdItem # Item + pbItem(selected, @heldpkmn) + elsif cmdFuse >= 0 && command == cmdFuse # fuse + pbFuseFromPC(selected, @heldpkmn) + elsif cmdUnfuse >= 0 && command == cmdUnfuse # unfuse + pbUnfuseFromPC(selected) + elsif cmdRelease >= 0 && command == cmdRelease # Release + pbRelease(selected, @heldpkmn) + elsif cmdDebug >= 0 && command == cmdDebug # Debug + pbPokemonDebug((@heldpkmn) ? @heldpkmn : pokemon, selected, heldpoke) end - elsif cmdSummary>=0 && command==cmdSummary # Summary - pbSummary(selected,@heldpkmn) - elsif cmdWithdraw>=0 && command==cmdWithdraw # Store/Withdraw - (selected[0]==-1) ? pbStore(selected,@heldpkmn) : pbWithdraw(selected,@heldpkmn) - elsif cmdItem>=0 && command==cmdItem # Item - pbItem(selected,@heldpkmn) - elsif cmdFuse>=0 && command==cmdFuse # fuse - pbFuseFromPC(selected,@heldpkmn) - elsif cmdUnfuse>=0 && command==cmdUnfuse # unfuse - pbUnfuseFromPC(selected) - elsif cmdRelease>=0 && command==cmdRelease # Release - pbRelease(selected,@heldpkmn) - elsif cmdDebug>=0 && command==cmdDebug # Debug - pbPokemonDebug((@heldpkmn) ? @heldpkmn : pokemon,selected,heldpoke) - end end end end end @scene.pbCloseBox - elsif command==1 # Withdraw - @scene.pbStartBox(self,command) + elsif command == 1 # Withdraw + @scene.pbStartBox(self, command) loop do selected = @scene.pbSelectBox(@storage.party) - if selected==nil + if selected == nil next if pbConfirm(_INTL("Continue Box operations?")) break else case selected[0] - when -2 # Party Pokémon + when -2 # Party Pokémon pbDisplay(_INTL("Which one will you take?")) next - when -3 # Close box + when -3 # Close box if pbConfirm(_INTL("Exit from the Box?")) pbSEPlay("PC close") break end next - when -4 # Box name + when -4 # Box name pbBoxCommands next end if @fusionMode pbFusionCommands(selected) else - pokemon = @storage[selected[0],selected[1]] - next if !pokemon - command = pbShowCommands(_INTL("{1} is selected.",pokemon.name),[ - _INTL("Withdraw"), - _INTL("Summary"), - _INTL("Release"), - _INTL("Cancel") - ]) - case command - when 0 then pbWithdraw(selected, nil) - when 1 then pbSummary(selected, nil) - #when 2 then pbMark(selected, nil) - when 2 then pbRelease(selected, nil) - end + pokemon = @storage[selected[0], selected[1]] + next if !pokemon + command = pbShowCommands(_INTL("{1} is selected.", pokemon.name), [ + _INTL("Withdraw"), + _INTL("Summary"), + _INTL("Release"), + _INTL("Cancel") + ]) + case command + when 0 then + pbWithdraw(selected, nil) + when 1 then + pbSummary(selected, nil) + #when 2 then pbMark(selected, nil) + when 2 then + pbRelease(selected, nil) + end end end end @scene.pbCloseBox - elsif command==2 # Deposit - @scene.pbStartBox(self,command) + elsif command == 2 # Deposit + @scene.pbStartBox(self, command) loop do selected = @scene.pbSelectParty(@storage.party) - if selected==-3 # Close box + if selected == -3 # Close box if pbConfirm(_INTL("Exit from the Box?")) pbSEPlay("PC close") break end next - elsif selected<0 + elsif selected < 0 next if pbConfirm(_INTL("Continue Box operations?")) break else - pokemon = @storage[-1,selected] + pokemon = @storage[-1, selected] next if !pokemon - command = pbShowCommands(_INTL("{1} is selected.",pokemon.name),[ - _INTL("Store"), - _INTL("Summary"), - _INTL("Mark"), - _INTL("Release"), - _INTL("Cancel") + command = pbShowCommands(_INTL("{1} is selected.", pokemon.name), [ + _INTL("Store"), + _INTL("Summary"), + _INTL("Mark"), + _INTL("Release"), + _INTL("Cancel") ]) case command - when 0 then pbStore([-1, selected], nil) - when 1 then pbSummary([-1, selected], nil) - when 2 then pbMark([-1, selected], nil) - when 3 then pbRelease([-1, selected], nil) + when 0 then + pbStore([-1, selected], nil) + when 1 then + pbSummary([-1, selected], nil) + when 2 then + pbMark([-1, selected], nil) + when 3 then + pbRelease([-1, selected], nil) end end end @scene.pbCloseBox - elsif command==3 - @scene.pbStartBox(self,command) + elsif command == 3 + @scene.pbStartBox(self, command) @scene.pbCloseBox end end - def pbUpdate # For debug + def pbUpdate # For debug @scene.update end - def pbHardRefresh # For debug + def pbHardRefresh # For debug @scene.pbHardRefresh end - def pbRefreshSingle(i) # For debug - @scene.pbUpdateOverlay(i[1],(i[0]==-1) ? @storage.party : nil) + def pbRefreshSingle(i) + # For debug + @scene.pbUpdateOverlay(i[1], (i[0] == -1) ? @storage.party : nil) @scene.pbHardRefresh end @@ -1762,15 +1806,15 @@ class PokemonStorageScreen end def pbConfirm(str) - return pbShowCommands(str,[_INTL("Yes"),_INTL("No")])==0 + return pbShowCommands(str, [_INTL("Yes"), _INTL("No")]) == 0 end - def pbShowCommands(msg,commands,index=0) - return @scene.pbShowCommands(msg,commands,index) + def pbShowCommands(msg, commands, index = 0) + return @scene.pbShowCommands(msg, commands, index) end def pbAble?(pokemon) - pokemon && !pokemon.egg? && pokemon.hp>0 + pokemon && !pokemon.egg? && pokemon.hp > 0 end def pbAbleCount @@ -1785,61 +1829,61 @@ class PokemonStorageScreen return @heldpkmn end - def pbWithdraw(selected,heldpoke) + def pbWithdraw(selected, heldpoke) box = selected[0] index = selected[1] - if box==-1 + if box == -1 raise _INTL("Can't withdraw from party..."); end if @storage.party_full? pbDisplay(_INTL("Your party's full!")) return false end - @scene.pbWithdraw(selected,heldpoke,@storage.party.length) + @scene.pbWithdraw(selected, heldpoke, @storage.party.length) if heldpoke @storage.pbMoveCaughtToParty(heldpoke) @heldpkmn = nil else - @storage.pbMove(-1,-1,box,index) + @storage.pbMove(-1, -1, box, index) end @scene.pbRefresh return true end - def pbStore(selected,heldpoke) + def pbStore(selected, heldpoke) box = selected[0] index = selected[1] - if box!=-1 + if box != -1 raise _INTL("Can't deposit from box...") end - if pbAbleCount<=1 && pbAble?(@storage[box,index]) && !heldpoke + if pbAbleCount <= 1 && pbAble?(@storage[box, index]) && !heldpoke pbPlayBuzzerSE pbDisplay(_INTL("That's your last Pokémon!")) elsif heldpoke && heldpoke.mail pbDisplay(_INTL("Please remove the Mail.")) - elsif !heldpoke && @storage[box,index].mail + elsif !heldpoke && @storage[box, index].mail pbDisplay(_INTL("Please remove the Mail.")) else loop do destbox = @scene.pbChooseBox(_INTL("Deposit in which Box?")) - if destbox>=0 + if destbox >= 0 firstfree = @storage.pbFirstFreePos(destbox) - if firstfree<0 + if firstfree < 0 pbDisplay(_INTL("The Box is full.")) next end - if heldpoke || selected[0]==-1 - p = (heldpoke) ? heldpoke : @storage[-1,index] + if heldpoke || selected[0] == -1 + p = (heldpoke) ? heldpoke : @storage[-1, index] p.time_form_set = nil - p.form = 0 if p.isSpecies?(:SHAYMIN) + p.form = 0 if p.isSpecies?(:SHAYMIN) p.heal end - @scene.pbStore(selected,heldpoke,destbox,firstfree) + @scene.pbStore(selected, heldpoke, destbox, firstfree) if heldpoke - @storage.pbMoveCaughtToBox(heldpoke,destbox) + @storage.pbMoveCaughtToBox(heldpoke, destbox) @heldpkmn = nil else - @storage.pbMove(destbox,-1,-1,index) + @storage.pbMove(destbox, -1, -1, index) end end break @@ -1851,39 +1895,39 @@ class PokemonStorageScreen def pbHold(selected) box = selected[0] index = selected[1] - if box==-1 && pbAble?(@storage[box,index]) && pbAbleCount<=1 + if box == -1 && pbAble?(@storage[box, index]) && pbAbleCount <= 1 pbPlayBuzzerSE pbDisplay(_INTL("That's your last Pokémon!")) return end @scene.pbHold(selected) - @heldpkmn = @storage[box,index] - @storage.pbDelete(box,index) + @heldpkmn = @storage[box, index] + @storage.pbDelete(box, index) @scene.pbRefresh end def pbPlace(selected) box = selected[0] index = selected[1] - if @storage[box,index] - raise _INTL("Position {1},{2} is not empty...",box,index) + if @storage[box, index] + raise _INTL("Position {1},{2} is not empty...", box, index) end - if box!=-1 && index>=@storage.maxPokemon(box) + if box != -1 && index >= @storage.maxPokemon(box) pbDisplay("Can't place that there.") return end - if box!=-1 && @heldpkmn.mail + if box != -1 && @heldpkmn.mail pbDisplay("Please remove the mail.") return end - if box>=0 + if box >= 0 @heldpkmn.time_form_set = nil - @heldpkmn.form = 0 if @heldpkmn.isSpecies?(:SHAYMIN) + @heldpkmn.form = 0 if @heldpkmn.isSpecies?(:SHAYMIN) @heldpkmn.heal end - @scene.pbPlace(selected,@heldpkmn) - @storage[box,index] = @heldpkmn - if box==-1 + @scene.pbPlace(selected, @heldpkmn) + @storage[box, index] = @heldpkmn + if box == -1 @storage.party.compact! end @scene.pbRefresh @@ -1893,35 +1937,35 @@ class PokemonStorageScreen def pbSwap(selected) box = selected[0] index = selected[1] - if !@storage[box,index] - raise _INTL("Position {1},{2} is empty...",box,index) + if !@storage[box, index] + raise _INTL("Position {1},{2} is empty...", box, index) end - if box==-1 && pbAble?(@storage[box,index]) && pbAbleCount<=1 && !pbAble?(@heldpkmn) + if box == -1 && pbAble?(@storage[box, index]) && pbAbleCount <= 1 && !pbAble?(@heldpkmn) pbPlayBuzzerSE pbDisplay(_INTL("That's your last Pokémon!")) return false end - if box!=-1 && @heldpkmn.mail + if box != -1 && @heldpkmn.mail pbDisplay("Please remove the mail.") return false end - if box>=0 + if box >= 0 @heldpkmn.time_form_set = nil - @heldpkmn.form = 0 if @heldpkmn.isSpecies?(:SHAYMIN) + @heldpkmn.form = 0 if @heldpkmn.isSpecies?(:SHAYMIN) @heldpkmn.heal end - @scene.pbSwap(selected,@heldpkmn) - tmp = @storage[box,index] - @storage[box,index] = @heldpkmn + @scene.pbSwap(selected, @heldpkmn) + tmp = @storage[box, index] + @storage[box, index] = @heldpkmn @heldpkmn = tmp @scene.pbRefresh return true end - def pbRelease(selected,heldpoke) + def pbRelease(selected, heldpoke) box = selected[0] index = selected[1] - pokemon = (heldpoke) ? heldpoke : @storage[box,index] + pokemon = (heldpoke) ? heldpoke : @storage[box, index] return if !pokemon if pokemon.egg? pbDisplay(_INTL("You can't release an Egg.")) @@ -1930,52 +1974,52 @@ class PokemonStorageScreen pbDisplay(_INTL("Please remove the mail.")) return false end - if box==-1 && pbAbleCount<=1 && pbAble?(pokemon) && !heldpoke + if box == -1 && pbAbleCount <= 1 && pbAble?(pokemon) && !heldpoke pbPlayBuzzerSE pbDisplay(_INTL("That's your last Pokémon!")) return end - command = pbShowCommands(_INTL("Release this Pokémon?"),[_INTL("No"),_INTL("Yes")]) - if command==1 + command = pbShowCommands(_INTL("Release this Pokémon?"), [_INTL("No"), _INTL("Yes")]) + if command == 1 pkmnname = pokemon.name - @scene.pbRelease(selected,heldpoke) + @scene.pbRelease(selected, heldpoke) if heldpoke @heldpkmn = nil else - @storage.pbDelete(box,index) + @storage.pbDelete(box, index) end @scene.pbRefresh - pbDisplay(_INTL("{1} was released.",pkmnname)) - pbDisplay(_INTL("Bye-bye, {1}!",pkmnname)) + pbDisplay(_INTL("{1} was released.", pkmnname)) + pbDisplay(_INTL("Bye-bye, {1}!", pkmnname)) @scene.pbRefresh end return end - def pbChooseMove(pkmn,helptext,index=0) + def pbChooseMove(pkmn, helptext, index = 0) movenames = [] for i in pkmn.moves - if i.total_pp<=0 - movenames.push(_INTL("{1} (PP: ---)",i.name)) + if i.total_pp <= 0 + movenames.push(_INTL("{1} (PP: ---)", i.name)) else - movenames.push(_INTL("{1} (PP: {2}/{3})",i.name,i.pp,i.total_pp)) + movenames.push(_INTL("{1} (PP: {2}/{3})", i.name, i.pp, i.total_pp)) end end - return @scene.pbShowCommands(helptext,movenames,index) + return @scene.pbShowCommands(helptext, movenames, index) end - def pbSummary(selected,heldpoke) - @scene.pbSummary(selected,heldpoke) + def pbSummary(selected, heldpoke) + @scene.pbSummary(selected, heldpoke) end - def pbMark(selected,heldpoke) - @scene.pbMark(selected,heldpoke) + def pbMark(selected, heldpoke) + @scene.pbMark(selected, heldpoke) end - def pbItem(selected,heldpoke) + def pbItem(selected, heldpoke) box = selected[0] index = selected[1] - pokemon = (heldpoke) ? heldpoke : @storage[box,index] + pokemon = (heldpoke) ? heldpoke : @storage[box, index] if pokemon.egg? pbDisplay(_INTL("Eggs can't hold items.")) return @@ -1985,11 +2029,11 @@ class PokemonStorageScreen end if pokemon.item itemname = pokemon.item.name - if pbConfirm(_INTL("Take this {1}?",itemname)) + if pbConfirm(_INTL("Take this {1}?", itemname)) if !$PokemonBag.pbStoreItem(pokemon.item) - pbDisplay(_INTL("Can't store the {1}.",itemname)) + pbDisplay(_INTL("Can't store the {1}.", itemname)) else - pbDisplay(_INTL("Took the {1}.",itemname)) + pbDisplay(_INTL("Took the {1}.", itemname)) pokemon.item = nil @scene.pbHardRefresh end @@ -2000,7 +2044,7 @@ class PokemonStorageScreen itemname = GameData::Item.get(item).name pokemon.item = item $PokemonBag.pbDeleteItem(item) - pbDisplay(_INTL("{1} is now being held.",itemname)) + pbDisplay(_INTL("{1} is now being held.", itemname)) @scene.pbHardRefresh end end @@ -2008,86 +2052,86 @@ class PokemonStorageScreen def pbBoxCommands commands = [ - _INTL("Jump"), - _INTL("Wallpaper"), - _INTL("Name"), - _INTL("Cancel"), + _INTL("Jump"), + _INTL("Wallpaper"), + _INTL("Name"), + _INTL("Cancel"), ] command = pbShowCommands( - _INTL("What do you want to do?"),commands) + _INTL("What do you want to do?"), commands) case command when 0 destbox = @scene.pbChooseBox(_INTL("Jump to which Box?")) - if destbox>=0 + if destbox >= 0 @scene.pbJumpToBox(destbox) end when 1 papers = @storage.availableWallpapers index = 0 for i in 0...papers[1].length - if papers[1][i]==@storage[@storage.currentBox].background + if papers[1][i] == @storage[@storage.currentBox].background index = i; break end end - wpaper = pbShowCommands(_INTL("Pick the wallpaper."),papers[0],index) - if wpaper>=0 + wpaper = pbShowCommands(_INTL("Pick the wallpaper."), papers[0], index) + if wpaper >= 0 @scene.pbChangeBackground(papers[1][wpaper]) end when 2 - @scene.pbBoxName(_INTL("Box name?"),0,12) + @scene.pbBoxName(_INTL("Box name?"), 0, 12) end end - def pbChoosePokemon(_party=nil) + def pbChoosePokemon(_party = nil) @heldpkmn = nil - @scene.pbStartBox(self,1) + @scene.pbStartBox(self, 1) retval = nil loop do selected = @scene.pbSelectBox(@storage.party) - if selected && selected[0]==-3 # Close box + if selected && selected[0] == -3 # Close box if pbConfirm(_INTL("Exit from the Box?")) pbSEPlay("PC close") break end next end - if selected==nil + if selected == nil next if pbConfirm(_INTL("Continue Box operations?")) break - elsif selected[0]==-4 # Box name + elsif selected[0] == -4 # Box name pbBoxCommands else - pokemon = @storage[selected[0],selected[1]] + pokemon = @storage[selected[0], selected[1]] next if !pokemon commands = [ - _INTL("Select"), - _INTL("Summary"), - _INTL("Withdraw"), - _INTL("Item"), - _INTL("Mark") + _INTL("Select"), + _INTL("Summary"), + _INTL("Withdraw"), + _INTL("Item"), + _INTL("Mark") ] commands.push(_INTL("Cancel")) - commands[2] = _INTL("Store") if selected[0]==-1 - helptext = _INTL("{1} is selected.",pokemon.name) - command = pbShowCommands(helptext,commands) + commands[2] = _INTL("Store") if selected[0] == -1 + helptext = _INTL("{1} is selected.", pokemon.name) + command = pbShowCommands(helptext, commands) case command - when 0 # Select + when 0 # Select if pokemon retval = selected break end when 1 - pbSummary(selected,nil) - when 2 # Store/Withdraw - if selected[0]==-1 - pbStore(selected,nil) + pbSummary(selected, nil) + when 2 # Store/Withdraw + if selected[0] == -1 + pbStore(selected, nil) else - pbWithdraw(selected,nil) + pbWithdraw(selected, nil) end when 3 - pbItem(selected,nil) + pbItem(selected, nil) when 4 - pbMark(selected,nil) + pbMark(selected, nil) end end end @@ -2095,57 +2139,56 @@ class PokemonStorageScreen return retval end - # # Fusion stuff # - def pbFuseFromPC(selected,heldpoke) - box=selected[0] - index=selected[1] - poke_body = @storage[box,index] + def pbFuseFromPC(selected, heldpoke) + box = selected[0] + index = selected[1] + poke_body = @storage[box, index] poke_head = heldpoke if heldpoke if dexNum(heldpoke.species) > NB_POKEMON - pbDisplay(_INTL("{1} is already fused!",heldpoke.name)) + pbDisplay(_INTL("{1} is already fused!", heldpoke.name)) return end end - splicerItem = selectSplicer() if splicerItem == nil cancelFusion() return end - isSuperSplicer = isSuperSplicer?(splicerItem) if !heldpoke @fusionMode = true @fusionItem = splicerItem - @scene.setFusing(true,@fusionItem) + @scene.setFusing(true, @fusionItem) pbHold(selected) pbDisplay(_INTL("Select a Pokémon to fuse it with")) + @scene.sprites["box"].disableFusions() return end if !poke_body pbDisplay(_INTL("Select a Pokémon to fuse it with")) @fusionMode = true @fusionItem = splicerItem - @scene.setFusing(true,@fusionItem) + @scene.setFusing(true, @fusionItem) return end end - def deleteHeldPokemon(heldpoke,selected) - @scene.pbReleaseInstant(selected,heldpoke) + def deleteHeldPokemon(heldpoke, selected) + @scene.pbReleaseInstant(selected, heldpoke) @heldpkmn = nil end def cancelFusion - @splicerItem =nil + @splicerItem = nil @scene.setFusing(false) @fusionMode = false + @scene.sprites["box"].enableFusions() end def canDeleteItem(item) @@ -2156,84 +2199,84 @@ class PokemonStorageScreen return item == :SUPERSPLICERS || item == :INFINITESPLICERS2 end - def pbFusionCommands(selected) - heldpoke=pbHeldPokemon - pokemon=@storage[selected[0],selected[1]] + heldpoke = pbHeldPokemon + pokemon = @storage[selected[0], selected[1]] - if !pokemon - command=pbShowCommands("Select an action",["Cancel","Stop fusing"]) - case command - when 1 #stop - cancelFusion() + if !pokemon + command = pbShowCommands("Select an action", ["Cancel", "Stop fusing"]) + case command + when 1 #stop + cancelFusion() + end + else + commands = [ + _INTL("Fuse"), + _INTL("Swap") + ] + commands.push(_INTL("Stop fusing")) + commands.push(_INTL("Cancel")) + + if !heldpoke + pbPlace(selected) + @fusionMode = false + @scene.setFusing(false) + return + end + command = pbShowCommands("Select an action", commands) + case command + when 0 #Fuse + if !pokemon + pbDisplay(_INTL("No Pokémon selected!")) + return + else + if dexNum(pokemon.species) > NB_POKEMON + pbDisplay(_INTL("This Pokémon is already fused!")) + return + end end - else - commands=[ - _INTL("Fuse"), - _INTL("Swap") - ] - commands.push(_INTL("Stop fusing")) - commands.push(_INTL("Cancel")) + isSuperSplicer = isSuperSplicer?(@fusionItem) - if !heldpoke - pbPlace(selected) - @fusionMode =false + if pbFuse(pokemon, heldpoke, isSuperSplicer) + if canDeleteItem(@fusionItem) + $PokemonBag.pbDeleteItem(@fusionItem) + end + deleteHeldPokemon(heldpoke, selected) @scene.setFusing(false) + @fusionMode = false + @scene.sprites["box"].enableFusions() return + else + # print "fusion cancelled" + # @fusionMode = false end - command=pbShowCommands("Select an action",commands) - case command - when 0 #Fuse - if !pokemon - pbDisplay(_INTL("No Pokémon selected!")) - return + when 1 #swap + if pokemon + if dexNum(pokemon.species) <= NB_POKEMON + pbSwap(selected) else - if dexNum(pokemon.species) > NB_POKEMON - pbDisplay(_INTL("This Pokémon is already fused!")) - return - end + pbDisplay(_INTL("This Pokémon is already fused!")) end - isSuperSplicer = isSuperSplicer?(@fusionItem) - - if pbFuse(pokemon,heldpoke,isSuperSplicer) - if canDeleteItem(@fusionItem) - $PokemonBag.pbDeleteItem(@fusionItem) - end - deleteHeldPokemon(heldpoke,selected) - @scene.setFusing(false) - @fusionMode = false - return - else - # print "fusion cancelled" - # @fusionMode = false - end - when 1 #swap - if pokemon - if dexNum(pokemon.species) <= NB_POKEMON - pbSwap(selected) - else - pbDisplay(_INTL("This Pokémon is already fused!")) - end - else - pbDisplay(_INTL("Select a Pokémon!")) - end - when 2 #cancel - cancelFusion() - return + else + pbDisplay(_INTL("Select a Pokémon!")) end + when 2 #cancel + cancelFusion() + return end end + end def pbUnfuseFromPC(selected) - box=selected[0] - index=selected[1] - pokemon = @storage[box,index] + box = selected[0] + index = selected[1] + pokemon = @storage[box, index] - if pbConfirm(_INTL("Unfuse {1}?",pokemon.name)) + if pbConfirm(_INTL("Unfuse {1}?", pokemon.name)) item = selectSplicer() return if item == nil isSuperSplicer = isSuperSplicer?(item) - if pbUnfuse(pokemon,@scene,isSuperSplicer,selected) + if pbUnfuse(pokemon, @scene, isSuperSplicer, selected) if canDeleteItem(item) $PokemonBag.pbDeleteItem(item) end @@ -2242,7 +2285,6 @@ class PokemonStorageScreen end end - def selectSplicer() dna_splicers_const = "DNA Splicers" super_splicers_const = "Super Splicers" @@ -2254,16 +2296,16 @@ class PokemonStorageScreen infiniteSplicers2Qt = $PokemonBag.pbQuantity(:INFINITESPLICERS2) options = [] - options.push(_INTL"{1}",infinite_splicers_const)if infiniteSplicers2Qt > 0 || infiniteSplicersQt > 0 - options.push(_INTL("{1} ({2})",super_splicers_const,superSplicersQt))if superSplicersQt > 0 - options.push(_INTL("{1} ({2})",dna_splicers_const,dnaSplicersQt))if dnaSplicersQt > 0 + options.push(_INTL "{1}", infinite_splicers_const) if infiniteSplicers2Qt > 0 || infiniteSplicersQt > 0 + options.push(_INTL("{1} ({2})", super_splicers_const, superSplicersQt)) if superSplicersQt > 0 + options.push(_INTL("{1} ({2})", dna_splicers_const, dnaSplicersQt)) if dnaSplicersQt > 0 if options.length <= 0 pbDisplay(_INTL("You have no fusion items available.")) return nil end - cmd=pbShowCommands("Use which splicers?",options) + cmd = pbShowCommands("Use which splicers?", options) if cmd == -1 return nil end @@ -2278,5 +2320,4 @@ class PokemonStorageScreen return nil end - end