diff --git a/Data/Actors.rxdata b/Data/Actors.rxdata index 41edc8e26..7967a5432 100644 Binary files a/Data/Actors.rxdata and b/Data/Actors.rxdata differ diff --git a/Data/Animations.rxdata b/Data/Animations.rxdata index 826e1e8a6..8e67182ba 100644 Binary files a/Data/Animations.rxdata and b/Data/Animations.rxdata differ diff --git a/Data/Armors.rxdata b/Data/Armors.rxdata index 901f2bb2b..2249bec14 100644 Binary files a/Data/Armors.rxdata and b/Data/Armors.rxdata differ diff --git a/Data/CommonEvents.rxdata b/Data/CommonEvents.rxdata index a3f2d4843..fe6f4d849 100644 Binary files a/Data/CommonEvents.rxdata and b/Data/CommonEvents.rxdata differ diff --git a/Data/Enemies.rxdata b/Data/Enemies.rxdata index be622f513..004ee903d 100644 Binary files a/Data/Enemies.rxdata and b/Data/Enemies.rxdata differ diff --git a/Data/Items.rxdata b/Data/Items.rxdata index fe767fa0b..3e62ba6d2 100644 Binary files a/Data/Items.rxdata and b/Data/Items.rxdata differ diff --git a/Data/Map300.rxdata b/Data/Map300.rxdata index 1839c9244..e76bcc742 100644 Binary files a/Data/Map300.rxdata and b/Data/Map300.rxdata differ diff --git a/Data/MapInfos.rxdata b/Data/MapInfos.rxdata index 19834bf4c..aa448dbb8 100644 Binary files a/Data/MapInfos.rxdata and b/Data/MapInfos.rxdata differ diff --git a/Data/Scripts/048_Fusion/DoublePreviewScreen.rb b/Data/Scripts/048_Fusion/DoublePreviewScreen.rb new file mode 100644 index 000000000..a954b1986 --- /dev/null +++ b/Data/Scripts/048_Fusion/DoublePreviewScreen.rb @@ -0,0 +1,91 @@ +class DoublePreviewScreen + def initialize(poke1,poke2, usingSuperSplicers=false) + @typewindows=[] + @picture1=nil + @picture2=nil + @draw_types = nil + @draw_level = nil + end + + def draw_window(dexNumber ,level, x, y) + body_pokemon = getBodyID(dexNumber) + head_pokemon = getHeadID(dexNumber,body_pokemon) + + picturePath = getPicturePath(body_pokemon,head_pokemon) + bitmap = AnimatedBitmap.new(picturePath) + bitmap.scale_bitmap(Settings::FRONTSPRITE_SCALE) + + hasCustom = picturePath.include?("CustomBattlers") + + + previewwindow = PictureWindow.new(bitmap) + previewwindow.x = x + previewwindow.y = y + previewwindow.z = 1000000 + + drawFusionInformation(dexNumber,level, x) + + if !$Trainer.seen?(dexNumber) + if hasCustom + previewwindow.picture.pbSetColor(150, 255, 150, 200) + else + previewwindow.picture.pbSetColor(255, 255, 255, 200) + end + end + return previewwindow + end + + def getPicturePath(body_pokemon, head_pokemon) + pathCustom = _INTL("Graphics/CustomBattlers/{1}.{2}.png", body_pokemon, head_pokemon) + if (pbResolveBitmap(pathCustom)) + picturePath = pathCustom + else + picturePath = _INTL("Graphics/Battlers/{1}/{1}.{2}.png", body_pokemon, head_pokemon) + end + return picturePath + end + + def drawFusionInformation(fusedDexNum, level, x=0) + viewport = Viewport.new(0, 0, Graphics.width, Graphics.height) + @typewindows << drawPokemonType(fusedDexNum,viewport, x+40,220) if @draw_types + drawFusionPreviewText(viewport, "Lv. " + level.to_s, x+60, 40,) if @draw_level + end + + def drawFusionPreviewText(viewport, text, x, y) + label_base_color = Color.new(248, 248, 248) + label_shadow_color = Color.new(104, 104, 104) + overlay = BitmapSprite.new(Graphics.width, Graphics.height, viewport).bitmap + textpos = [[text, x, y, 0, label_base_color, label_shadow_color]] + pbDrawTextPositions(overlay, textpos) + end + + def dispose + @picture1.dispose + @picture2.dispose + for typeWindow in @typewindows + typeWindow.dispose + end + end + + def drawPokemonType(pokemon_id, viewport, x_pos = 192, y_pos = 264) + width = 66 + viewport.z = 1000001 + overlay = BitmapSprite.new(Graphics.width, Graphics.height, viewport).bitmap + + pokemon = GameData::Species.get(pokemon_id) + 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(x_pos + (width / 2), y_pos, typebitmap.bitmap, type1rect) + else + overlay.blt(x_pos, y_pos, typebitmap.bitmap, type1rect) + overlay.blt(x_pos + width, y_pos, typebitmap.bitmap, type2rect) + end + return viewport + end + + +end diff --git a/Data/Scripts/050_AddOns/New Items effects.rb b/Data/Scripts/050_AddOns/New Items effects.rb index aa49fc168..68f07532a 100644 --- a/Data/Scripts/050_AddOns/New Items effects.rb +++ b/Data/Scripts/050_AddOns/New Items effects.rb @@ -1301,6 +1301,28 @@ def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false) end end + +# def pbFuse(pokemon, poke2, supersplicers = false) +# newid = (pokemon.species_data.id_number) * NB_POKEMON + poke2.species_data.id_number +# previewwindow = FusionPreviewScreen.new(pokemon, poke2)#PictureWindow.new(picturePath) +# +# if (Kernel.pbConfirmMessage(_INTL("Fuse the two Pokémon?", newid))) +# previewwindow.dispose +# fus = PokemonFusionScene.new +# if (fus.pbStartScreen(pokemon, poke2, newid)) +# returnItemsToBag(pokemon, poke2) +# fus.pbFusionScreen(false, supersplicers) +# $game_variables[126] += 1 #fuse counter +# fus.pbEndScreen +# return true +# end +# else +# previewwindow.dispose +# return false +# end +# end + + def pbFuse(pokemon, poke2, supersplicers = false) newid = (pokemon.species_data.id_number) * NB_POKEMON + poke2.species_data.id_number diff --git a/Data/Skills.rxdata b/Data/Skills.rxdata index a45219f5e..61cba7ea2 100644 Binary files a/Data/Skills.rxdata and b/Data/Skills.rxdata differ diff --git a/Data/States.rxdata b/Data/States.rxdata index 868d49e59..0f9b4ae5d 100644 Binary files a/Data/States.rxdata and b/Data/States.rxdata differ diff --git a/Data/System.rxdata b/Data/System.rxdata index b93ec4678..5a2d33b0d 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ diff --git a/Data/Tilesets.rxdata b/Data/Tilesets.rxdata index a244a8e14..421bb6372 100644 Binary files a/Data/Tilesets.rxdata and b/Data/Tilesets.rxdata differ diff --git a/Data/Weapons.rxdata b/Data/Weapons.rxdata index c7ea19a7a..d9bd35260 100644 Binary files a/Data/Weapons.rxdata and b/Data/Weapons.rxdata differ