From e59254af3c1c3d800ab0322a6f1343bf54511560 Mon Sep 17 00:00:00 2001 From: infinitefusion Date: Sat, 5 Nov 2022 19:53:14 -0400 Subject: [PATCH] double fusion preview screen --- Data/Map079.rxdata | Bin 37360 -> 37360 bytes Data/Map300.rxdata | Bin 50976 -> 50681 bytes Data/MapInfos.rxdata | Bin 37520 -> 37520 bytes Data/Scripts.rxdata | Bin 752 -> 754 bytes Data/Scripts/016_UI/017_UI_PokemonStorage.rb | 25 ++- .../Scripts/048_Fusion/DoublePreviewScreen.rb | 157 ++++++++++++++++-- Data/Scripts/048_Fusion/PokemonFusion.rb | 23 ++- Data/Scripts/050_AddOns/New Items effects.rb | 106 ++++++++---- Data/System.rxdata | Bin 29358 -> 29357 bytes 9 files changed, 252 insertions(+), 59 deletions(-) diff --git a/Data/Map079.rxdata b/Data/Map079.rxdata index 52be5cb482bdbebfc534477ffe8b20527bc69d3d..59a4545e282221a5970847ffe4e4b84bdc4948b5 100644 GIT binary patch literal 37360 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 diff --git a/Data/Map300.rxdata b/Data/Map300.rxdata index e76bcc742c45ac22e765502a4b46a647bb7d1db3..18eb56e6b8679a90c98980d56a0eafc10f30e670 100644 GIT binary patch delta 147 zcmZ3`$NaOKc|sPW*~aV{LX0|-H<-z8_7M5N#i%^lQvM^O%4Tf^QB|hjER(I|btmV$ z?qd4GGFeB#esh-FTXx2En(A*8D=&g3(<0)9J%@V)*_h< z)}onNP(iLtHXvjGLP@AhJzR!8lN~I>q{E0I$C1eamQzNPVX&TDm99JafH~*n1A*$3 z>jVYZxs6N=i{lL@3o40DPT=F2{6UCCz|_FnB9qVBGE>poD$_huXYy+m+0BZ=AGnyT znI=oS=uUQ!JIrIl1T~y#6654T9hJ!+xCJ&l%U@Gr5@rP|dd?%liba8w>pOPFW19_q zA2IP9$EF}SfRR&tIU7vtUq)E?I54f;oE=%nsB{FY1d zWD;SStdJwg@q^KtE0al`Y4hD!Lq?zy{&-P#DNSZ;b|v1R{L+$C1w&(N4mWGg%y5vp Z(9L#fvJ#WSs$|#~gEdarTvsO~0stM|C42w? delta 126 zcmbQRlxf0JrVYgkOr+a$_`zt+mC5vwW%J!wLq?zy{&-P#sZ1tob|v1R{L+$C1w&(N4mWGg%y5vp Z{hRI5WF?qlStiHUDKNTkuB#Ig0RYwdC6E9B diff --git a/Data/Scripts.rxdata b/Data/Scripts.rxdata index 954fa57f037b63be85d9cd881de49d36007fa722..ac892743f64603f4bda9f53340980d48a7d015ce 100644 GIT binary patch delta 239 zcmVQN#m6dHCUGk1jWj=ddG zQo_(G1OrM>3X0(L@k(AvNo;SFS68UUr&91&^r4X(x^9}N!*I9}xg6<#x<>ch@lj2X_3xSg{{~*t(W}Hwa=`!q delta 237 zcmVyY8Y^EM1azdejM>2Cq2=Cb25hW!I ztwJ#1Whn(kaQb*9ucRc#H_9t4ROC}B_$&I*$PHaLP1IpH+z4_}Sffy2!AIwiPk;;W z44u{Nu`sd?qxF!SQOy)?;+E&@b~Z1%)A*l{u76?L{qT=hEV&5!x3}P=#zvG!{kF0^ n8d_ln!%?08oyu0F!IoT(^*>#sd+zwCCdm3X&HsM`>3`E2JB)J4 diff --git a/Data/Scripts/016_UI/017_UI_PokemonStorage.rb b/Data/Scripts/016_UI/017_UI_PokemonStorage.rb index a8ef08564..9368f3d14 100644 --- a/Data/Scripts/016_UI/017_UI_PokemonStorage.rb +++ b/Data/Scripts/016_UI/017_UI_PokemonStorage.rb @@ -2191,6 +2191,11 @@ class PokemonStorageScreen @heldpkmn = nil end + def deleteSelectedPokemon(heldpoke, selected) + pbSwap(selected) + deleteHeldPokemon(heldpoke, selected) + end + def cancelFusion @splicerItem = nil @scene.setFusing(false) @@ -2244,11 +2249,27 @@ class PokemonStorageScreen end isSuperSplicer = isSuperSplicer?(@fusionItem) - if pbFuse(pokemon, heldpoke, isSuperSplicer) + + selectedHead =selectFusion(pokemon, heldpoke, isSuperSplicer) + if selectedHead == -1 + return false + end + + selectedBase = selectedHead == pokemon ? heldpoke : pokemon + firstOptionSelected= selectedBase == pokemon + + + if (Kernel.pbConfirmMessage(_INTL("Fuse the two Pokémon?"))) + pbFuse(selectedHead, selectedBase, isSuperSplicer) if canDeleteItem(@fusionItem) $PokemonBag.pbDeleteItem(@fusionItem) end - deleteHeldPokemon(heldpoke, selected) + if firstOptionSelected + deleteSelectedPokemon(heldpoke, selected) + else + deleteHeldPokemon(heldpoke, selected) + end + @scene.setFusing(false) @fusionMode = false @scene.sprites["box"].enableFusions() diff --git a/Data/Scripts/048_Fusion/DoublePreviewScreen.rb b/Data/Scripts/048_Fusion/DoublePreviewScreen.rb index a954b1986..565838133 100644 --- a/Data/Scripts/048_Fusion/DoublePreviewScreen.rb +++ b/Data/Scripts/048_Fusion/DoublePreviewScreen.rb @@ -1,29 +1,122 @@ class DoublePreviewScreen - def initialize(poke1,poke2, usingSuperSplicers=false) - @typewindows=[] - @picture1=nil - @picture2=nil + SELECT_ARROW_X_LEFT= 100 + SELECT_ARROW_X_RIGHT= 350 + SELECT_ARROW_X_CANCEL= 230 + + SELECT_ARROW_Y_SELECT= 0 + SELECT_ARROW_Y_CANCEL= 210 + ARROW_GRAPHICS_PATH = "Graphics/Pictures/selHand" + CANCEL_BUTTON_PATH = "Graphics/Pictures/previewScreen_Cancel" + BACKGROUND_PATH = "Graphics/Pictures/shadeFull_" + + + CANCEL_BUTTON_X= 140 + CANCEL_BUTTON_Y= 260 + + def initialize(species_left, species_right) + @species_left = species_left + @species_right = species_right + + @typewindows = [] + @picture1 = nil + @picture2 = nil @draw_types = nil @draw_level = nil + @selected = 0 + @last_post=0 + @sprites = {} + + initializeBackground + initializeSelectArrow + initializeCancelButton end - def draw_window(dexNumber ,level, x, y) - body_pokemon = getBodyID(dexNumber) - head_pokemon = getHeadID(dexNumber,body_pokemon) + def getBackgroundPicture + return BACKGROUND_PATH + end - picturePath = getPicturePath(body_pokemon,head_pokemon) + + def getSelection + selected = startSelection + @sprites["cancel"].visible=false + #@sprites["arrow"].visible=false + + #todo: il y a un fuck en quelque part.... en attendant ca marche inversé ici + return @species_left if selected == 0 + return @species_right if selected == 1 + return -1 + end + + def startSelection + loop do + Graphics.update + Input.update + updateSelection + if Input.trigger?(Input::USE) + return @selected + end + if Input.trigger?(Input::BACK) + return -1 + end + end + end + + def updateSelection + currentSelected = @selected + updateSelectionIndex + if @selected != currentSelected + updateSelectionGraphics + end + end + + def updateSelectionIndex + if Input.trigger?(Input::LEFT) + @selected = 0 + elsif Input.trigger?(Input::RIGHT) + @selected = 1 + end + if @selected == -1 + if Input.trigger?(Input::UP) + @selected = @last_post + end + else + if Input.trigger?(Input::DOWN) + @last_post = @selected + @selected = -1 + end + end + end + + def updateSelectionGraphics + if @selected == 0 + @sprites["arrow"].x = SELECT_ARROW_X_LEFT + @sprites["arrow"].y = SELECT_ARROW_Y_SELECT + elsif @selected == 1 + @sprites["arrow"].x = SELECT_ARROW_X_RIGHT + @sprites["arrow"].y = SELECT_ARROW_Y_SELECT + else + @sprites["arrow"].x = SELECT_ARROW_X_CANCEL + @sprites["arrow"].y = SELECT_ARROW_Y_CANCEL + end + pbUpdateSpriteHash(@sprites) + end + + def draw_window(dexNumber, level, x, y) + body_pokemon = getBodyID(dexNumber) + head_pokemon = getHeadID(dexNumber, body_pokemon) + + picturePath = getPicturePath(head_pokemon, body_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 + previewwindow.z = 100000 - drawFusionInformation(dexNumber,level, x) + drawFusionInformation(dexNumber, level, x) if !$Trainer.seen?(dexNumber) if hasCustom @@ -35,20 +128,47 @@ class DoublePreviewScreen return previewwindow end - def getPicturePath(body_pokemon, head_pokemon) - pathCustom = _INTL("Graphics/CustomBattlers/{1}.{2}.png", body_pokemon, head_pokemon) + + def getPicturePath(head_pokemon, body_pokemon) + pathCustom = _INTL("Graphics/CustomBattlers/{1}.{2}.png", head_pokemon, body_pokemon) if (pbResolveBitmap(pathCustom)) picturePath = pathCustom else - picturePath = _INTL("Graphics/Battlers/{1}/{1}.{2}.png", body_pokemon, head_pokemon) + picturePath = _INTL("Graphics/Battlers/{1}/{1}.{2}.png",head_pokemon , body_pokemon) end return picturePath end - def drawFusionInformation(fusedDexNum, level, x=0) + 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 + @typewindows << drawPokemonType(fusedDexNum, viewport, x + 40, 220) if @draw_types + drawFusionPreviewText(viewport, "Lv. " + level.to_s, x + 60, 40,) if @draw_level + end + + + def initializeSelectArrow + @sprites["arrow"] = IconSprite.new(0, 0, @viewport) + @sprites["arrow"].setBitmap(ARROW_GRAPHICS_PATH) + @sprites["arrow"].x = SELECT_ARROW_X_LEFT + @sprites["arrow"].y = SELECT_ARROW_Y_SELECT + @sprites["arrow"].z = 100001 + end + + + def initializeCancelButton() + @sprites["cancel"] = IconSprite.new(0, 0, @viewport) + @sprites["cancel"].setBitmap(CANCEL_BUTTON_PATH) + @sprites["cancel"].x = CANCEL_BUTTON_X + @sprites["cancel"].y = CANCEL_BUTTON_Y + @sprites["cancel"].z = 100000 + end + + def initializeBackground() + @sprites["background"] = IconSprite.new(0, 0, @viewport) + @sprites["background"].setBitmap(getBackgroundPicture) + @sprites["background"].x = 0 + @sprites["background"].y = 0 + @sprites["background"].z = 99999 end def drawFusionPreviewText(viewport, text, x, y) @@ -65,6 +185,8 @@ class DoublePreviewScreen for typeWindow in @typewindows typeWindow.dispose end + pbDisposeSpriteHash(@sprites) + end def drawPokemonType(pokemon_id, viewport, x_pos = 192, y_pos = 264) @@ -87,5 +209,4 @@ class DoublePreviewScreen return viewport end - end diff --git a/Data/Scripts/048_Fusion/PokemonFusion.rb b/Data/Scripts/048_Fusion/PokemonFusion.rb index b54db1e11..f8d2a55c3 100644 --- a/Data/Scripts/048_Fusion/PokemonFusion.rb +++ b/Data/Scripts/048_Fusion/PokemonFusion.rb @@ -650,7 +650,7 @@ class PokemonFusionScene # Opens the fusion screen - def pbFusionScreen(cancancel = false, superSplicer = false) + def pbFusionScreen(cancancel = false, superSplicer = false, firstOptionSelected=false) metaplayer1 = SpriteMetafilePlayer.new(@metafile1, @sprites["rsprite1"]) metaplayer2 = SpriteMetafilePlayer.new(@metafile2, @sprites["rsprite2"]) metaplayer3 = SpriteMetafilePlayer.new(@metafile3, @sprites["rsprite3"]) @@ -739,7 +739,7 @@ class PokemonFusionScene #@pokemon1.ability = pbChooseAbility(@pokemon1, hiddenAbility1, hiddenAbility2) pbChooseAbility(@pokemon1, hiddenAbility1, hiddenAbility2) - setFusionMoves(@pokemon1, @pokemon2) if !noMoves + setFusionMoves(@pokemon1, @pokemon2, firstOptionSelected) if !noMoves # if superSplicer # @pokemon1.nature = pbChooseNature(@pokemon1.nature, @pokemon2.nature) @@ -792,7 +792,7 @@ def setAbilityAndNature(abilitiesList, naturesList) end -def setFusionMoves(fusedPoke, poke2) +def setFusionMoves(fusedPoke, poke2,selected2ndOption=false) #NEW METHOD (not ready) # clearUIForMoves @@ -805,12 +805,25 @@ def setFusionMoves(fusedPoke, poke2) # # fusedPoke.moves=moves bodySpecies = getBodyID(fusedPoke) + headSpecies = getHeadID(fusedPoke,bodySpecies) bodySpeciesName = GameData::Species.get(bodySpecies).real_name - choice = Kernel.pbMessage("What to do with the moveset?", [_INTL("Learn moves"), _INTL("Keep {1}'s moveset", bodySpeciesName), _INTL("Keep {1}'s moveset", poke2.name)], 0) + headSpeciesName = GameData::Species.get(headSpecies).real_name + + + choice = Kernel.pbMessage("What to do with the moveset?", [_INTL("Learn moves"), _INTL("Keep {1}'s moveset", bodySpeciesName), _INTL("Keep {1}'s moveset", headSpeciesName)], 0) if choice == 1 + if selected2ndOption + fusedPoke.moves = poke2.moves + else + return + end return elsif choice == 2 - fusedPoke.moves = poke2.moves + if selected2ndOption + return + else + fusedPoke.moves = poke2.moves + end return else #Learn moves diff --git a/Data/Scripts/050_AddOns/New Items effects.rb b/Data/Scripts/050_AddOns/New Items effects.rb index 68f07532a..444bd18dd 100644 --- a/Data/Scripts/050_AddOns/New Items effects.rb +++ b/Data/Scripts/050_AddOns/New Items effects.rb @@ -1247,6 +1247,15 @@ ItemHandlers::UseOnPokemon.add(:DNASPLICERS, proc { |item, pokemon, scene| next false }) +def getPokemonPositionInParty(pokemon) + for i in 0..$Trainer.party.length + if $Trainer.party[i] == pokemon + return i + end + end + return -1 +end + def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false) playingBGM = $game_system.getPlayingBGM dexNumber = pokemon.species_data.id_number @@ -1278,12 +1287,30 @@ def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false) scene.pbDisplay(_INTL("A fainted Pokémon cannot be fused!")) return false end - if (pbFuse(pokemon, poke2, superSplicer)) + + selectedHead =selectFusion(pokemon, poke2, supersplicers) + if selectedHead == -1 + return false + end + selectedBase = selectedHead == pokemon ? poke2 : pokemon + + firstOptionSelected= selectedHead == pokemon + if !firstOptionSelected + chosen = getPokemonPositionInParty(pokemon) + if chosen == -1 + scene.pbDisplay(_INTL("There was an error...")) + return false + end + end + + if (Kernel.pbConfirmMessage(_INTL("Fuse the two Pokémon?"))) + pbFuse(selectedHead, selectedBase, superSplicer) pbRemovePokemonAt(chosen) scene.pbHardRefresh pbBGMPlay(playingBGM) return true end + elsif pokemon == poke2 scene.pbDisplay(_INTL("{1} can't be fused with itself!", pokemon.name)) return false @@ -1302,6 +1329,18 @@ def pbDNASplicing(pokemon, scene, supersplicers = false, superSplicer = false) end +def selectFusion(pokemon, poke2, supersplicers = false) + selectorWindow = FusionPreviewScreen.new(poke2, pokemon, supersplicers)#PictureWindow.new(picturePath) + selectedHead = selectorWindow.getSelection + selectorWindow.dispose + return selectedHead +end + # firstOptionSelected= selectedHead == pokemon + # selectedBody = selectedHead == pokemon ? poke2 : pokemon + # newid = (selectedBody.species_data.id_number) * NB_POKEMON + selectedHead.species_data.id_number + + + # 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) @@ -1326,35 +1365,34 @@ end def pbFuse(pokemon, poke2, supersplicers = false) newid = (pokemon.species_data.id_number) * NB_POKEMON + poke2.species_data.id_number - pathCustom = _INTL("Graphics/CustomBattlers/{1}.{2}.png", poke2.species_data.id_number, pokemon.species_data.id_number) - hasCustom = false - if (pbResolveBitmap(pathCustom)) - picturePath = pathCustom - hasCustom = true - else - picturePath = _INTL("Graphics/Battlers/{1}/{1}.{2}.png", poke2.species_data.id_number, pokemon.species_data.id_number) - end + # pathCustom = _INTL("Graphics/CustomBattlers/{1}.{2}.png", poke2.species_data.id_number, pokemon.species_data.id_number) + # hasCustom = false + # if (pbResolveBitmap(pathCustom)) + # picturePath = pathCustom + # hasCustom = true + # else + # picturePath = _INTL("Graphics/Battlers/{1}/{1}.{2}.png", poke2.species_data.id_number, pokemon.species_data.id_number) + # end + # previewwindow = PictureWindow.new(picturePath) + # + # new_level = calculateFusedPokemonLevel(pokemon.level, poke2.level, supersplicers) + # typeWindow = drawPokemonType(newid) + # drawFusionPreviewText(typeWindow, "Lv. " + new_level.to_s, 232, 0,) + # + # if !$Trainer.seen?(newid) + # if hasCustom + # previewwindow.picture.pbSetColor(150, 255, 150, 200) + # else + # previewwindow.picture.pbSetColor(255, 255, 255, 200) + # end + # end + # previewwindow.x = (Graphics.width / 2) - (previewwindow.width / 2) + # previewwindow.y = ((Graphics.height - 96) / 2) - (previewwindow.height / 2) + # previewwindow.z = 1000000 - previewwindow = PictureWindow.new(picturePath) - - new_level = calculateFusedPokemonLevel(pokemon.level, poke2.level, supersplicers) - typeWindow = drawPokemonType(newid) - drawFusionPreviewText(typeWindow, "Lv. " + new_level.to_s, 232, 0,) - - if !$Trainer.seen?(newid) - if hasCustom - previewwindow.picture.pbSetColor(150, 255, 150, 200) - else - previewwindow.picture.pbSetColor(255, 255, 255, 200) - end - end - previewwindow.x = (Graphics.width / 2) - (previewwindow.width / 2) - previewwindow.y = ((Graphics.height - 96) / 2) - (previewwindow.height / 2) - previewwindow.z = 1000000 - - if (Kernel.pbConfirmMessage(_INTL("Fuse the two Pokémon?", newid))) - previewwindow.dispose - typeWindow.dispose + #if (Kernel.pbConfirmMessage(_INTL("Fuse the two Pokémon?", newid))) + # previewwindow.dispose + # typeWindow.dispose fus = PokemonFusionScene.new if (fus.pbStartScreen(pokemon, poke2, newid)) returnItemsToBag(pokemon, poke2) @@ -1364,11 +1402,11 @@ def pbFuse(pokemon, poke2, supersplicers = false) return true end - else - previewwindow.dispose - typeWindow.dispose - return false - end + # else + # # previewwindow.dispose + # # typeWindow.dispose + # return false + # end end diff --git a/Data/System.rxdata b/Data/System.rxdata index 5a2d33b0d50de0efb75fab57b7f8a295a8216f79..81ea3c14db8c3986acf2790e9695b7155b2d24d3 100644 GIT binary patch delta 27 jcmZ4YlyU7-#tmT-EXfn=7&k{rXoWK|zTMoOug(kroa727 delta 28 kcmZ4clyTit#tmT-EN{NPV%Z!ep%u=|q{FzmEnl4(0Jk#=!vFvP