From 749cdff356a1eacfc9463d2a7c09ccad7191137e Mon Sep 17 00:00:00 2001 From: infinitefusion Date: Sat, 8 Oct 2022 13:52:17 -0400 Subject: [PATCH] shiny fusion fixes + custom starters option (events) --- Data/CommonEvents.rxdata | Bin 119828 -> 120152 bytes Data/Map531.rxdata | Bin 9996 -> 10022 bytes Data/Map659.rxdata | Bin 41170 -> 41312 bytes Data/MapInfos.rxdata | Bin 37278 -> 37278 bytes Data/Scripts/001_Settings.rb | 4 +-- .../007_Objects and windows/001_RPG_Cache.rb | 1 - .../008_AnimatedBitmap.rb | 18 +++++++++-- .../003_Pokemon_Sprites.rb | 4 +-- Data/Scripts/014_Pokemon/001_Pokemon.rb | 11 +++++++ Data/Scripts/048_Fusion/PokemonFusion.rb | 18 ++++++++--- Data/Scripts/050_AddOns/FusionSprites.rb | 30 ++++++++++++------ Data/Scripts/050_AddOns/New Items effects.rb | 23 ++++++++++++++ Data/System.rxdata | Bin 28906 -> 28878 bytes 13 files changed, 87 insertions(+), 22 deletions(-) diff --git a/Data/CommonEvents.rxdata b/Data/CommonEvents.rxdata index e0088e81a61a9762d286ff6983226affcd8a9746..df28a8585b5124d248774fa54966045023b4d174 100644 GIT binary patch delta 1218 zcmah|ZERCz6!v-NdRJFNbsbpOt=-1T3I#IaKA_vWZc`AX0jm%gtnJ2)S#Y*n+pUV( zMwSpT!ZPm6iF}g~f~W~5(>E?LmPrUO7$7SC@P|wM2ubH4gcuo4-`iVZCMN!R&Uwzc z=REK8zIW)9^!;h6Zy0Z_K!A3vKmwO}wF}ok<1S<&Mib@8$$ZSEZ_B3q8k8tG$)|KL zn^XCw8Z3r^o*%<90oUBH3Ap1%v4CmOE1<9zRskLXlEL*v8yjHC7fG{TSI2zXkUh1i z5FP4}g{h8Kgj`aVE2~LY^lZ4rCr3-moZIBMH`ZPn4sDkm4zb%nM)&`Iw(LJXBR8tV zwts6)RA7l9rv%IrIZvsXuUD#n)7y1L4oyh8b6veJEVs7FktMImQE#waE)BP=6cQ^P z4*H}9rlKOB{JPv4wQbqZRKC>~jM&}`#X4<~Xs|OXce+*Elry~+)kVYMlmV(K`$5O5 zkejKVzeo8v>6jz@IWns(Jo`sZ2Qd!<>`Sv!+gqrU+C*o9=F}sXj(On3SuJj@#sX2y zs$-*E6!!x6>2L!oF-_k#U@d!KriooJDO1ViyrU7ur&&dwa{QK=Zoi9Xw5gSRWCI!{ zddZKuWNO9>v`>w~&G>Il>xCwDj&ic6n$|^Nlu`yYKPpLNjG&t}<|}1AIdmw38SJC7Zf*Y-3_Ofe zjgQmf7$W#pRd^J`;vOV+93D-=0Ec>TV{id~gTGGTBgpW@hJ3Vdi^U!iRUF8|?FR$2ACDw)RVZ+f7}JTo_%0_$g$H_E^gSzX!l+i_`rUQ=-{W-?_)g+*k)g~ zRL6q!jo{J3?FTSv$7XIiiyr8jip6`?Db9OKscIBPesdIEzyb1}6GuBpA6-Hnzi6qQw3u>qG_(RWTg-A+$FVXpl#(PLG;OLWXvU??7LzhsXtNu9 zVHxeVJQTEC>PfOPi_o$t!qkbNq9UQU_WRE-EssG@-#Op+-*e9W?*Ht({@_`C{S~aw z#6sGTiB>EX7Bjj)Z_*JKG{hX@8Ad5qB=YU?Bb0nYfP1V+NeeX(^Q`om^}*)gVkIHL z=UwGCSxvsO>=j;bm3x8DUG8yL&GS@MPnbMWo(iR}c9;-KMhC{p5@AE4Ea^7H$x+v;Q~QDSybe*)c<2 z=`-LfE+x5g!q%ZV~}!oY2t;}yL}aj=s#A{){4%86v0 zQgIeeYpv@Rr11y!2Fmv!k{`Qcph>flK>JgXLFq1Bzzg!bkbzz@EHrEQN(p+%S%Oh?rWDC^R7Gz}!O^MB z8<)snT>&h*mtc;Lg~zDrLj&m}Vx(yZJ>Q62alnn17oPS=R4P9UE`tlj}xO ze>J|Nf(q73lP_yfh)NZ6+#~59O`q3d7b7E8G)SeU8YHtrgQTYhhj3B-IGT2?lY>h} ze*A4b&kqZs@W*n&11<6yBWf`h?XUBR_>csvD7uL{ zz$Tuy;RdjY4&25})X~6wI7HYTJOWOOzIMz8&S=f$9Y_M}9jC4CF( x*(VA7LJG~-!9w;<%!iBic49oNbgdJYQA{ZhVW)Fl*osv`V!sa8DB=lne*)j`cgz3) diff --git a/Data/Map531.rxdata b/Data/Map531.rxdata index 6338052750afac530c163e01d48a22153f315095..0ec7e72a7a83e7db0079ca9bc81c14f64abc913a 100644 GIT binary patch literal 10022 zcmeHN&2t+`6_*v4EIW3-lSx?c&Q3mXl8IN6r6isqwfgYL60t2a8Yd(srHrJu)$5UF zq8ZuoE(Lck6qmg~6;}@Y5gd0ZE?nS16`K>>;7%03!4aGzq2BOuD5vi4c-b zrY-8!8qhSGCi|r2*q=_*h$)?Ri4|;_!9n^ivA3c9Vy|72Hlg(#%wb=vG|?5xf_eq5Z!_@@j1OfL$E$=)nPffok`csI-wK4 zG37H+`RsO-hJonri#CtURdYkH1gJ4SsF>!s#}!T{Ji;|W*S9|$U`^Xna()`n@P z=vhIts#;s8Ez<5Twy>G?o^5#FOAnRx(uSsHiW`brSv8HiDB!0cR*DM(NJ+RU?&yY1 z#8|h!=>c>+v4LZv;m=Oc2((AwtzzvFIu9*V(DI2l65SI%hXT(?5&l_EFE_7w*g!f5 zm0fU}70c+@l}^hrYkQ>r05$5Z6!t|l)sdz(vqi3l@b8uRtC2M{x;_)vocPj*kKnN& zJnZ^`-vf+&G2yo}#-cQQBkUH&5Tjtv;~50nI;;j|aJ3ma@e2O|qA$uHdPt@^@^Y6o zm#@(ubk4)?vlj6e2}{0&>1A(NP%Ew$p0hCwT96I&mpwh<2-kzk5VhosdHIqlbEo9X zdHD*21Nm#f!Fzf6>(KX&ygUz2@8@M6st>%^DKhj5Y4QykmA{#n7wAd(W?sH!%C~1_ z5qzV3M+nJ_Fx7`pVqicJGvx%7B~4BOO)Bqsr4>(F5#a-?S|-jyO1$P8P&YO~>|VZq z?-?`Sp7DTA{s20Gf+mb?F@28mZ~wMOnD~)5d%&p;d7Ox#!YfxGykVMqHgC{9!aEJZ z+h*J0%^iM^*5O%q_ye=Kdpmh@emaJvc-jwk!n z;2okjZIQ2%n%V5G0)$Nqasr<&{1avq5#b|9WpI@ize5d!Z&2Hvfrsp%!NYg{2N|DT}vIL^7*8a{1Qe{7-G8|AU*sQ${TKhT6(5T+FsvD`zbM= z8iO-&M4a(dtdO{u@^I!#YuPQ80nG!T>{_O*iPC2INm)~iC_|_+nwH5u1aX#fTV;2| zGckeU)QaoH6<3V$q%TfSvZLj>bQGMR^F%UL0A`uamAqDZq^M=o`jZv4w7IpuDN3uw z)yxWJ8vR-?=9H|GS$`(R0~qgtED^U%j1dd4|rz#bBeD zSoRtbu8zpVK>e#p`7#jU9WX?Zjc@*jt znH_I4OzWX>xpi1QA-|^$W!Knzr2IPiruj8H8%W4^VUux>UXt%qH+OOm1t6D)Ljl|e z;Au-~V z3>;>jOY0ptkTUec3Y>-J;Y6{nJ9)_0PocwZ<736i07I|jEA6TlC*G?gU({AL}6PUnc)L$x4`OaFqKvaP4sh(6WB4gS5f>F!1_fybAUED zX54*a);%Nh!H)a9vnC7+2Z;UBYH$VYV2U!OYV^SWZ?Rg`~Hz=2j@C|K9<0{ zE`fK^w+B5XddZ_lr00E}68+85BT|?P`kjB}CHvz=m<#$H^f%~X`^WSwsXtx}ddjYs z>>tyk?T;5h#62(BKc+|9A1{K4(PMVKWdE2RExQ|xkE|W**Y#mP@)VRw@P06M;`rbn z@)VRw@P06M2I=q~c?!xTc>lWC$>s^lBzVvI|9|WLlN=j=snj48zF4L6@WUba84`Tm ci9Z~|A1c9V(8=@xt;6@ASNl5M-=~HC3GW>Ln*aa+ literal 9996 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 Phktxt@9T8GXcqc6K}G&O diff --git a/Data/Map659.rxdata b/Data/Map659.rxdata index 0f9ff9ec3e26f1c14d3c4e0f8837beb214dc4841..6fb8139dd6661422ff03cc36da1c0448177a2538 100644 GIT binary patch literal 41312 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 diff --git a/Data/MapInfos.rxdata b/Data/MapInfos.rxdata index 6573333cbddb05e510baca39bec41f988287b5db..d6871a7c7ea60cc188d546cb0b75b9651e0fb4ed 100644 GIT binary patch delta 30 jcmbQYm}%Z(rVX0Bj3Jw~cq2`LREv|0I*?kJ`BxnPp85)b delta 30 jcmbQYm}%Z(rVX0BjBcB?cq2`LREv|0I*?kJ`BxnPoY)Fi diff --git a/Data/Scripts/001_Settings.rb b/Data/Scripts/001_Settings.rb index 01336190b..209607dd3 100644 --- a/Data/Scripts/001_Settings.rb +++ b/Data/Scripts/001_Settings.rb @@ -6,7 +6,7 @@ module Settings # The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format. GAME_VERSION = '5.0.0' - GAME_VERSION_NUMBER = "5.0.34 - beta" + GAME_VERSION_NUMBER = "5.0.35" POKERADAR_LIGHT_ANIMATION_RED_ID = 17 POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18 @@ -29,7 +29,7 @@ module Settings EGGSPRITE_SCALE = 1 BACKSPRITE_POSITION_OFFSET = 20 FRONTSPRITE_POSITION = 200 - SHINY_HUE_OFFSET = 60 + SHINY_HUE_OFFSET = 75 RIVAL_STARTER_PLACEHOLDER_SPECIES = :MEW #(MEW) VAR_1_PLACEHOLDER_SPECIES = :DIALGA diff --git a/Data/Scripts/007_Objects and windows/001_RPG_Cache.rb b/Data/Scripts/007_Objects and windows/001_RPG_Cache.rb index 1d49e8f72..9983699a4 100644 --- a/Data/Scripts/007_Objects and windows/001_RPG_Cache.rb +++ b/Data/Scripts/007_Objects and windows/001_RPG_Cache.rb @@ -140,7 +140,6 @@ end class BitmapWrapper < Bitmap attr_reader :refcount attr_accessor :never_dispose - def dispose return if self.disposed? @refcount -= 1 diff --git a/Data/Scripts/007_Objects and windows/008_AnimatedBitmap.rb b/Data/Scripts/007_Objects and windows/008_AnimatedBitmap.rb index db3ecaf9c..2c5db123d 100644 --- a/Data/Scripts/007_Objects and windows/008_AnimatedBitmap.rb +++ b/Data/Scripts/007_Objects and windows/008_AnimatedBitmap.rb @@ -2,6 +2,10 @@ # #=============================================================================== class AnimatedBitmap + attr_reader :path + attr_reader :filename + + def initialize(file, hue = 0) raise "Filename is nil (missing graphic)." if file.nil? path = file @@ -11,6 +15,8 @@ class AnimatedBitmap filename = split_file.pop path = split_file.join('/') + '/' end + @filename= filename + @path= path if filename[/^\[\d+(?:,\d+)?\]/] # Starts with 1 or 2 numbers in square brackets @bitmap = PngAnimatedBitmap.new(path, filename, hue) else @@ -30,9 +36,13 @@ class AnimatedBitmap end def shiftColors(offset=0) - offset/=350 if offset >350 + + offset/=360 if offset >360 offset=30 if offset <30 #this method is only used for shinies. shinies that barely shift are boring - @bitmap.bitmap.hue_change(offset) + + @bitmap = GifBitmap.new(@path, @filename, offset) + + #@bitmap.bitmap.hue_change(offset) end def [](index) @@ -243,14 +253,16 @@ end #=============================================================================== class GifBitmap attr_accessor :bitmap - + attr_reader :loaded_from_cache # Creates a bitmap from a GIF file. Can also load non-animated bitmaps. def initialize(dir, filename, hue = 0) @bitmap = nil @disposed = false + @loaded_from_cache=false filename = "" if !filename begin @bitmap = RPG::Cache.load_bitmap(dir, filename, hue) + @loaded_from_cache=true rescue @bitmap = nil end diff --git a/Data/Scripts/014_Pokemon/001_Pokemon-related/003_Pokemon_Sprites.rb b/Data/Scripts/014_Pokemon/001_Pokemon-related/003_Pokemon_Sprites.rb index de46a0875..243575ae3 100644 --- a/Data/Scripts/014_Pokemon/001_Pokemon-related/003_Pokemon_Sprites.rb +++ b/Data/Scripts/014_Pokemon/001_Pokemon-related/003_Pokemon_Sprites.rb @@ -54,9 +54,9 @@ class PokemonSprite < SpriteWrapper changeOrigin end - def setPokemonBitmapFromId(id, back = false) + def setPokemonBitmapFromId(id, back = false, shiny=false, bodyShiny=false, headShiny=false) @_iconbitmap.dispose if @_iconbitmap - @_iconbitmap = GameData::Species.sprite_bitmap_from_pokemon_id(id, back) + @_iconbitmap = GameData::Species.sprite_bitmap_from_pokemon_id(id, back,shiny, bodyShiny,headShiny) self.bitmap = (@_iconbitmap) ? @_iconbitmap.bitmap : nil self.color = Color.new(0, 0, 0, 0) changeOrigin diff --git a/Data/Scripts/014_Pokemon/001_Pokemon.rb b/Data/Scripts/014_Pokemon/001_Pokemon.rb index 72b3ce556..55314e1f5 100644 --- a/Data/Scripts/014_Pokemon/001_Pokemon.rb +++ b/Data/Scripts/014_Pokemon/001_Pokemon.rb @@ -31,6 +31,8 @@ class Pokemon # This Pokémon's shininess (true, false, nil). Is recalculated if made nil. # @param value [Boolean, nil] whether this Pokémon is shiny attr_writer :shiny + attr_accessor :head_shiny + attr_accessor :body_shiny # The index of this Pokémon's ability (0, 1 are natural abilities, 2+ are # hidden abilities)as defined for its species/form. An ability may not be # defined at this index. Is recalculated (as 0 or 1) if made nil. @@ -162,6 +164,13 @@ class Pokemon return headSpecies == checkSpeciesId end + def bodyShiny? + return @body_shiny + end + + def headShiny? + return @head_shiny + end def isFusionOf(check_species) return hasBodyOf?(check_species) || hasHeadOf?(check_species) @@ -444,6 +453,8 @@ class Pokemon return [:AlwaysMale, :AlwaysFemale, :Genderless].include?(gender_ratio) end + + #============================================================================= # Shininess #============================================================================= diff --git a/Data/Scripts/048_Fusion/PokemonFusion.rb b/Data/Scripts/048_Fusion/PokemonFusion.rb index 171fa6b28..72ef2c50a 100644 --- a/Data/Scripts/048_Fusion/PokemonFusion.rb +++ b/Data/Scripts/048_Fusion/PokemonFusion.rb @@ -535,10 +535,12 @@ class PokemonFusionScene @sprites["rsprite2"] = PokemonSprite.new(@viewport) @sprites["rsprite3"] = PokemonSprite.new(@viewport) - @sprites["rsprite1"].setPokemonBitmapFromId(poke1_number, false) - @sprites["rsprite3"].setPokemonBitmapFromId(poke2_number, false) + @sprites["rsprite1"].setPokemonBitmapFromId(poke1_number, false,pokemon1.shiny?) + @sprites["rsprite3"].setPokemonBitmapFromId(poke2_number, false,pokemon2.shiny?) - @sprites["rsprite2"].setPokemonBitmapFromId(@newspecies, false) + + + @sprites["rsprite2"].setPokemonBitmapFromId(@newspecies, false, pokemon1.shiny? || pokemon2.shiny?,pokemon1.shiny?,pokemon2.shiny?) @sprites["rsprite1"].ox = @sprites["rsprite1"].bitmap.width / 2 @sprites["rsprite1"].oy = @sprites["rsprite1"].bitmap.height / 2 @@ -707,10 +709,16 @@ class PokemonFusionScene _INTL("\\se[]Congratulations! Your Pokémon were fused into {2}!\\wt[80]", @pokemon1.name, newspeciesname)) #exp - @pokemon1.exp_when_fused_head = @pokemon2.exp #peut-être l'inverse - @pokemon1.exp_when_fused_body = @pokemon1.exp #peut-être l'inverse + @pokemon1.exp_when_fused_head = @pokemon2.exp + @pokemon1.exp_when_fused_body = @pokemon1.exp @pokemon1.exp_gained_since_fused = 0 + if @pokemon2.shiny? + @pokemon1.head_shiny=true + end + if @pokemon1.shiny? + @pokemon1.body_shiny=true + end setFusionIVs(superSplicer) #add to pokedex if !$Trainer.pokedex.owned?(newSpecies) diff --git a/Data/Scripts/050_AddOns/FusionSprites.rb b/Data/Scripts/050_AddOns/FusionSprites.rb index 7dc4c7a84..17424c797 100644 --- a/Data/Scripts/050_AddOns/FusionSprites.rb +++ b/Data/Scripts/050_AddOns/FusionSprites.rb @@ -5,23 +5,35 @@ module GameData species = GameData::Species.get(species).id_number # Just to be sure it's a number return self.egg_sprite_bitmap(species, pkmn.form) if pkmn.egg? if back - ret = self.back_sprite_bitmap(species,nil,nil,pkmn.shiny?) + ret = self.back_sprite_bitmap(species, nil, nil, pkmn.shiny?,pkmn.bodyShiny?,pkmn.headShiny?) else - ret = self.front_sprite_bitmap(species,nil,nil,pkmn.shiny?) + ret = self.front_sprite_bitmap(species, nil, nil, pkmn.shiny?,pkmn.bodyShiny?,pkmn.headShiny?) end return ret end - def self.sprite_bitmap_from_pokemon_id(id, back = false) + def self.sprite_bitmap_from_pokemon_id(id, back = false, shiny=false, bodyShiny=false,headShiny=false) if back - ret = self.back_sprite_bitmap(id) + ret = self.back_sprite_bitmap(id,nil,nil,shiny,bodyShiny,headShiny) else - ret = self.front_sprite_bitmap(id) + ret = self.front_sprite_bitmap(id,nil,nil,shiny,bodyShiny,headShiny) end return ret end - def self.front_sprite_bitmap(dex_number, a=0, b = 0, isShiny = false, d = 0) + def self.calculateShinyHueOffset(dex_number, isBodyShiny = false, isHeadShiny = false) + dex_offset = dex_number + if isBodyShiny && isHeadShiny + dex_offset = dex_number + elsif isHeadShiny + dex_offset = getHeadID(dex_number) + elsif isBodyShiny + dex_offset = getBodyID(dex_number) + end + return pbGet(VAR_SHINY_HUE_OFFSET) + dex_offset + Settings::SHINY_HUE_OFFSET + end + + def self.front_sprite_bitmap(dex_number, a = 0, b = 0, isShiny = false, bodyShiny = false, headShiny = false) #la méthode est utilisé ailleurs avec d'autres arguments (gender, form, etc.) mais on les veut pas if dex_number.is_a?(Symbol) dex_number = GameData::Species.get(dex_number).id_number @@ -29,16 +41,16 @@ module GameData filename = self.sprite_filename(dex_number) sprite = (filename) ? AnimatedBitmap.new(filename) : nil if isShiny - sprite.shiftColors(pbGet(VAR_SHINY_HUE_OFFSET)+dex_number) + sprite.shiftColors(self.calculateShinyHueOffset(dex_number, bodyShiny, headShiny)) end return sprite end - def self.back_sprite_bitmap(dex_number, b=0, form = 0, isShiny=false, c = false, shadow = false) + def self.back_sprite_bitmap(dex_number, b = 0, form = 0, isShiny = false, bodyShiny = false, headShiny = false) filename = self.sprite_filename(dex_number) sprite = (filename) ? AnimatedBitmap.new(filename) : nil if isShiny - sprite.shiftColors(pbGet(VAR_SHINY_HUE_OFFSET)+dex_number) + sprite.shiftColors(self.calculateShinyHueOffset(dex_number, bodyShiny, headShiny)) end return sprite end diff --git a/Data/Scripts/050_AddOns/New Items effects.rb b/Data/Scripts/050_AddOns/New Items effects.rb index 9d7d2e64b..e2430a28e 100644 --- a/Data/Scripts/050_AddOns/New Items effects.rb +++ b/Data/Scripts/050_AddOns/New Items effects.rb @@ -476,6 +476,7 @@ def reverseFusion(pokemon) pokemon.exp_when_fused_body = head_exp pokemon.exp_when_fused_head = body_exp + pokemon.head_shiny,pokemon.body_shiny = pokemon.body_shiny,pokemon.head_shiny #play animation pbFadeOutInWithMusic(99999) { fus = PokemonEvolutionScene.new @@ -1401,6 +1402,28 @@ def pbUnfuse(pokemon, scene, supersplicers, pcPosition = nil) pokemon.exp_when_fused_head = nil pokemon.exp_when_fused_body = nil + + if pokemon.shiny? + pokemon.shiny = false + if pokemon.bodyShiny? && pokemon.headShiny? + pokemon.shiny = true + poke2.shiny = true + elsif pokemon.bodyShiny? + pokemon.shiny = true + elsif pokemon.headShiny? + poke2.shiny = true + else #shiny was obtained already fused + if rand(2) == 0 + pokemon.shiny = true + else + poke2.shiny = true + end + end + end + pokemon.body_shiny=false + pokemon.head_shiny=false + + if $Trainer.party.length >= 6 if (keepInParty == 0) $PokemonStorage.pbStoreCaught(poke2) diff --git a/Data/System.rxdata b/Data/System.rxdata index 94efc4c76e81f3cb2b9f5d975f2cfcedbc7734e4..5ddc7e86262402ee0c17952c6dfed3d17416995e 100644 GIT binary patch delta 146 zcmV;D0B!&3;Q`L!0kB&b1bySJ1+!lm&PkIlVjh!FVnPif5NvgLa$$KOXK!w0v!r4O z0u&+_LQGFXOD#`OMNUahM=ec7PF1tTWXS`Qk7yOMsAv@e5+W5=X>)0GWn>^jX>M*| zVqtQV)M`%~A|5R*AXRQ`Z)0m^WFSXjZDk-$Z)9b2AT2GkLu-Em0|Ju*v%_sC15r;h A