Seen 4 Days Ago
Posted 4 Weeks Ago
105 posts
1.9 Years
Hi! After a long, long time coding and with a lot of help received from @Wolfpp and JessWishes, I finally make this new feature work!


And it's easy to implement, and even if you haven't EBS!
First, for people with EBS:
EBS

Spoiler:


Find this:
def getTypes(species)
And under all that paste this:
def getType(species)
  dexdata=pbOpenDexData
  pbDexDataOffset(dexdata,species,8)
  type1=dexdata.fgetb
  dexdata.close
  return type1
end
Should look like this:
def getTypes(species)
  dexdata=pbOpenDexData
  pbDexDataOffset(dexdata,species,8)
  type1=dexdata.fgetb
  type2=dexdata.fgetb
  dexdata.close
  return type1==type2 ? [type1] : [type1,type2]
end
def getType(species)
  dexdata=pbOpenDexData
  pbDexDataOffset(dexdata,species,8)
  type1=dexdata.fgetb
  dexdata.close
  return type1
end
Next, we move to EliteBattle_1, and we search for this:
@sprites["poke"].color.red += 16
@sprites["poke"].color.green += 16
@sprites["poke"].color.blue += 16
and we replace it for this:
This one is big, so i recommend the printable version, in the post options...
Spoiler:

      case @pokemon.type1
      when 0
        @sprites["poke"].color.red += 200
        @sprites["poke"].color.green += 200
        @sprites["poke"].color.blue += 200
        @sprites["poke"].color.alpha += 255
      when 1
        @sprites["poke"].color.red += 200
        @sprites["poke"].color.green += 0
        @sprites["poke"].color.blue += 0
        @sprites["poke"].color.alpha += 255
      when 2
        @sprites["poke"].color.red += 0
        @sprites["poke"].color.green += 230
        @sprites["poke"].color.blue += 250
        @sprites["poke"].color.alpha += 255
      when 3
        @sprites["poke"].color.red += 180
        @sprites["poke"].color.green += 0
        @sprites["poke"].color.blue += 190
        @sprites["poke"].color.alpha += 255
      when 4
        @sprites["poke"].color.red += 148
        @sprites["poke"].color.green += 124
        @sprites["poke"].color.blue += 75
        @sprites["poke"].color.alpha += 255
      when 5
        @sprites["poke"].color.red += 88
        @sprites["poke"].color.green += 73
        @sprites["poke"].color.blue += 44
        @sprites["poke"].color.alpha += 255
      when 6
        @sprites["poke"].color.red += 112
        @sprites["poke"].color.green += 215
        @sprites["poke"].color.blue += 92
        @sprites["poke"].color.alpha += 255
      when 7
        @sprites["poke"].color.red += 45
        @sprites["poke"].color.green += 29
        @sprites["poke"].color.blue += 67
        @sprites["poke"].color.alpha += 255
      when 8
        @sprites["poke"].color.red += 170
        @sprites["poke"].color.green += 170
        @sprites["poke"].color.blue += 190
        @sprites["poke"].color.alpha += 255
      when 9
        @sprites["poke"].color.red += 0
        @sprites["poke"].color.green += 0
        @sprites["poke"].color.blue += 0
        @sprites["poke"].color.alpha += 255
      when 10
        @sprites["poke"].color.red += 255
        @sprites["poke"].color.green += 51
        @sprites["poke"].color.blue += 0
        @sprites["poke"].color.alpha += 255
      when 11
        @sprites["poke"].color.red += 0
        @sprites["poke"].color.green += 51
        @sprites["poke"].color.blue += 255
        @sprites["poke"].color.alpha += 255
      when 12
        @sprites["poke"].color.red += 0
        @sprites["poke"].color.green += 255
        @sprites["poke"].color.blue += 51
        @sprites["poke"].color.alpha += 255
      when 13
        @sprites["poke"].color.red += 251
        @sprites["poke"].color.green += 230
        @sprites["poke"].color.blue += 0
        @sprites["poke"].color.alpha += 255
      when 14
        @sprites["poke"].color.red += 255
        @sprites["poke"].color.green += 0
        @sprites["poke"].color.blue += 252
        @sprites["poke"].color.alpha += 255
      when 15
        @sprites["poke"].color.red += 178
        @sprites["poke"].color.green += 255
        @sprites["poke"].color.blue += 251
        @sprites["poke"].color.alpha += 255
      when 16
        @sprites["poke"].color.red += 60
        @sprites["poke"].color.green += 0
        @sprites["poke"].color.blue += 255
        @sprites["poke"].color.alpha += 255
      when 17
        @sprites["poke"].color.red += 50
        @sprites["poke"].color.green += 38
        @sprites["poke"].color.blue += 61
        @sprites["poke"].color.alpha += 255
      when 18
        @sprites["poke"].color.red += 30
        @sprites["poke"].color.green += 18
        @sprites["poke"].color.blue += 41
        @sprites["poke"].color.alpha += 255
      when 19
        @sprites["poke"].color.red += 255
        @sprites["poke"].color.green += 50
        @sprites["poke"].color.blue += 252
        @sprites["poke"].color.alpha += 255
      else
        @sprites["poke"].color.red += 16
        @sprites["poke"].color.green += 16
        @sprites["poke"].color.blue += 16
        @sprites["poke"].color.alpha += 255
      end

And right under the end, we paste this:
This one is big too, so use the printable version as well.
Spoiler:

      evotipo=PBSpecies.getType(@newspecies)
      case evotipo
      when 0
        @sprites["poke2"].color.red += 200
        @sprites["poke2"].color.green += 200
        @sprites["poke2"].color.blue += 200
        @sprites["poke2"].color.alpha += 255
      when 1
        @sprites["poke2"].color.red += 200
        @sprites["poke2"].color.green += 0
        @sprites["poke2"].color.blue += 0
        @sprites["poke2"].color.alpha += 255
      when 2
        @sprites["poke2"].color.red += 0
        @sprites["poke2"].color.green += 230
        @sprites["poke2"].color.blue += 250
        @sprites["poke2"].color.alpha += 255
      when 3
        @sprites["poke2"].color.red += 180
        @sprites["poke2"].color.green += 0
        @sprites["poke2"].color.blue += 190
        @sprites["poke2"].color.alpha += 255
      when 4
        @sprites["poke2"].color.red += 148
        @sprites["poke2"].color.green += 124
        @sprites["poke2"].color.blue += 75
        @sprites["poke2"].color.alpha += 255
      when 5
        @sprites["poke2"].color.red += 88
        @sprites["poke2"].color.green += 73
        @sprites["poke2"].color.blue += 44
        @sprites["poke2"].color.alpha += 255
      when 6
        @sprites["poke2"].color.red += 112
        @sprites["poke2"].color.green += 215
        @sprites["poke2"].color.blue += 92
        @sprites["poke2"].color.alpha += 255
      when 7
        @sprites["poke2"].color.red += 45
        @sprites["poke2"].color.green += 29
        @sprites["poke2"].color.blue += 67
        @sprites["poke2"].color.alpha += 255
      when 8
        @sprites["poke2"].color.red += 170
        @sprites["poke2"].color.green += 170
        @sprites["poke2"].color.blue += 190
        @sprites["poke2"].color.alpha += 255
      when 9
        @sprites["poke2"].color.red += 0
        @sprites["poke2"].color.green += 0
        @sprites["poke2"].color.blue += 0
        @sprites["poke2"].color.alpha += 255
      when 10
        @sprites["poke2"].color.red += 255
        @sprites["poke2"].color.green += 51
        @sprites["poke2"].color.blue += 0
        @sprites["poke2"].color.alpha += 255
      when 11
        @sprites["poke2"].color.red += 0
        @sprites["poke2"].color.green += 51
        @sprites["poke2"].color.blue += 255
        @sprites["poke2"].color.alpha += 255
      when 12
        @sprites["poke2"].color.red += 0
        @sprites["poke2"].color.green += 255
        @sprites["poke2"].color.blue += 51
        @sprites["poke2"].color.alpha += 255
      when 13
        @sprites["poke2"].color.red += 251
        @sprites["poke2"].color.green += 230
        @sprites["poke2"].color.blue += 0
        @sprites["poke2"].color.alpha += 255
      when 14
        @sprites["poke2"].color.red += 255
        @sprites["poke2"].color.green += 0
        @sprites["poke2"].color.blue += 252
        @sprites["poke2"].color.alpha += 255
      when 15
        @sprites["poke2"].color.red += 178
        @sprites["poke2"].color.green += 255
        @sprites["poke2"].color.blue += 251
        @sprites["poke2"].color.alpha += 255
      when 16
        @sprites["poke2"].color.red += 60
        @sprites["poke2"].color.green += 0
        @sprites["poke2"].color.blue += 255
        @sprites["poke2"].color.alpha += 255
      when 17
        @sprites["poke2"].color.red += 50
        @sprites["poke2"].color.green += 38
        @sprites["poke2"].color.blue += 61
        @sprites["poke2"].color.alpha += 255
      when 18
        @sprites["poke2"].color.red += 30
        @sprites["poke2"].color.green += 18
        @sprites["poke2"].color.blue += 41
        @sprites["poke2"].color.alpha += 255
      when 19
        @sprites["poke2"].color.red += 255
        @sprites["poke2"].color.green += 50
        @sprites["poke2"].color.blue += 252
        @sprites["poke2"].color.alpha += 255
      else
        @sprites["poke2"].color.red += 16
        @sprites["poke2"].color.green += 16
        @sprites["poke2"].color.blue += 16
        @sprites["poke2"].color.alpha += 255
      end

And there we are, we have a very cool evolution scene!

Without EBS

Spoiler:

And without EBS is easier:
Just search for this:
def pbGenerateMetafiles(s1x,s1y,s2x,s2y)
Select it until this end:
    @metafile2=sprite2
  end
And replace all that with this:
Use the printable version
Spoiler:

  def pbGenerateMetafiles(s1x,s1y,s2x,s2y)
    sprite=SpriteMetafile.new
    sprite2=SpriteMetafile.new
    sprite.opacity=255
    sprite2.opacity=255
    sprite2.zoom=0.0
    sprite.ox=s1x
    sprite.oy=s1y
    sprite2.ox=s2x
    sprite2.oy=s2y
    alpha=0
    for j in 0...26
      if sprite.pbHasType?(:GRASS) || sprite.pbHasType?(:BUG)
        sprite.color.red=92
        sprite.color.green=255
        sprite.color.blue=45
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      elsif sprite.pbHasType?(:DARK) || sprite.pbHasType?(:POISON) || sprite.pbHasType?(:GHOST)
        sprite.color.red=29
        sprite.color.green=10
        sprite.color.blue=47
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      elsif sprite.pbHasType?(:ICE) || sprite.pbHasType?(:FLYING)
        sprite.color.red=0
        sprite.color.green=220
        sprite.color.blue=230
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      elsif sprite.pbHasType?(:ELECTRIC)
        sprite.color.red=255
        sprite.color.green=255
        sprite.color.blue=0
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      elsif sprite.pbHasType?(:FIRE) || sprite.pbHasType?(:FIGHTING)
        sprite.color.red=200
        sprite.color.green=0
        sprite.color.blue=0
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      elsif sprite.pbHasType?(:ROCK) || sprite.pbHasType?(:GROUND)
        sprite.color.red=148
        sprite.color.green=124
        sprite.color.blue=75
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      elsif sprite.pbHasType?(:STEEL) || sprite.pbHasType?(:NORMAL)
        sprite.color.red=250
        sprite.color.green=250
        sprite.color.blue=250
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      elsif sprite.pbHasType?(:PSYCHIC) || sprite.pbHasType?(:FAIRY)
        sprite.color.red=255
        sprite.color.green=0
        sprite.color.blue=250
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      elsif sprite.pbHasType?(:WATER)
        sprite.color.red=0
        sprite.color.green=51
        sprite.color.blue=255
        sprite.color.alpha=255
        sprite.color=sprite.color
        alpha+=5
      else#
        sprite.color.red=255
        sprite.color.green=255 
        sprite.color.blue=255
        sprite.color.alpha=alpha
        sprite.color=sprite.color
        sprite2.color=sprite.color
        sprite2.color.alpha=255
        sprite.update
        sprite2.update
        alpha+=5
      end#
    end
    totaltempo=0
    currenttempo=25
    maxtempo=7*Graphics.frame_rate
    while totaltempo<maxtempo
      for j in 0...currenttempo
        if alpha<255
          if sprite2.pbHasType?(:GRASS) || sprite2.pbHasType?(:BUG)
            sprite2.color.red=92
            sprite2.color.green=255
            sprite2.color.blue=45
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          elsif sprite2.pbHasType?(:DARK) || sprite2.pbHasType?(:POISON) || sprite2.pbHasType?(:GHOST)
            sprite2.color.red=29
            sprite2.color.green=10
            sprite2.color.blue=47
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          elsif sprite2.pbHasType?(:ICE) || sprite2.pbHasType?(:FLYING)
            sprite2.color.red=0
            sprite2.color.green=220
            sprite2.color.blue=230
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          elsif sprite2.pbHasType?(:ELECTRIC)
            sprite2.color.red=255
            sprite2.color.green=255
            sprite2.color.blue=0
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          elsif sprite2.pbHasType?(:FIRE) || sprite2.pbHasType?(:FIGHTING)
            sprite2.color.red=200
            sprite2.color.green=0
            sprite2.color.blue=0
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          elsif sprite2.pbHasType?(:ROCK) || sprite2.pbHasType?(:GROUND)
            sprite2.color.red=148
            sprite2.color.green=124
            sprite2.color.blue=75
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          elsif sprite2.pbHasType?(:STEEL) || sprite2.pbHasType?(:NORMAL)
            sprite2.color.red=250
            sprite2.color.green=250
            sprite2.color.blue=250
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          elsif sprite2.pbHasType?(:PSYCHIC) || sprite2.pbHasType?(:FAIRY)
            sprite2.color.red=255
            sprite2.color.green=0
            sprite2.color.blue=250
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          elsif sprite2.pbHasType?(:WATER)
            sprite2.color.red=0
            sprite2.color.green=51
            sprite2.color.blue=255
            sprite2.color.alpha=255
            sprite2.color=sprite2.color
            alpha+=5
          else#
            sprite2.color.red=255
            sprite2.color.green=255 
            sprite2.color.blue=255
            sprite2.color.alpha=alpha
            sprite2.color=sprite2.color
            sprite2.color=sprite2.color
            sprite2.color.alpha=255
            sprite2.update
            sprite2.update
            alpha+=5
          end#
        end
        sprite.zoom=[1.1*(currenttempo-j-1)/currenttempo,1.0].min
        sprite2.zoom=[1.1*(j+1)/currenttempo,1.0].min
        sprite.update
        sprite2.update
      end
      totaltempo+=currenttempo
      if totaltempo+currenttempo<maxtempo
        for j in 0...currenttempo
          sprite.zoom=[1.1*(j+1)/currenttempo,1.0].min
          sprite2.zoom=[1.1*(currenttempo-j-1)/currenttempo,1.0].min
          sprite.update
          sprite2.update
        end
      end
      totaltempo+=currenttempo
      currenttempo=[(currenttempo/1.5).floor,5].max
    end
    @metafile1=sprite
    @metafile2=sprite2
  end

And there we are! We have an awesome evolution scene!

Hope you enjoy!
Credits for Wolfpp, JessWishes and for me would be grateful.