I wanted to do the same thing and I managed to do it with some tweaks, but I'm just a normal player not a dev do if it doesn't work or there is a bug good luck (but I don't have in my part)
I'll explain in the logical way not necessarily in order
First in pbFrameUpdate I changed the new part to:
if Input.trigger?(Input::AUX2)
custom_species = @battle.battlers.map { |battler| battler }.uniq
pbSpeciesTypeMatchUI(custom_species.reverse) #.reverse is here only to show first the opponent which I find better
end
Then in the 002_SpeciesTypeMatch_UI file I changed pbSpeciesTypeMatchUI at the end
if custom_species #removed the other check
# Use the custom_species array if it is provided
scene.instance_variable_set(:@species,custom_species.each{|a| a.species})
else
Then in drawSpeciesTypes I changed some variable because it doesn't get the same thing as before
at the beginning:
s = species #Use what you really get from battle and not the base thing in pokedex
2.times do |i|
@sprites["icon_#{i}"].pbSetParams(s.species,0,s.form,false)#changed .id to .species
end
At the end:
# Draw species name
pbDrawTextPositions(@overlay_type,[
[s.name,Graphics.width/2,@h+10,2,base,shadow]
])#changed .real_name to .name also for bug and it's better it supports translation and custom nickname
IMPORTANT
I removed this part in pbTypeMatchUp
elsif Input.trigger?(Input::USE) # Don't work idk why
oldSpecies = @species[@index]
newSpecies = pbChooseSpeciesFromList(oldSpecies, oldSpecies)
if oldSpecies != newSpecies
@index = @species.index(newSpecies)
refresh = true
end
So during battle if you press enter you don't get anymore the menu for choosing which pokemon to show, but who cares you can go to it using right/left, I don't want to correct the bug because I don't understand and it will take a long time for literally nothing but you can try
So in conclusion what this does, you can now see in battle the real form currently and not only the base form, so you can see mega evolution, regional variants, special form, fakemon even just custom sprite change I added some screenshot to show it
Also something I find cool I added is the mention of what EV you gain from this pokemon from killing it, if you want the code you need to add at the end of drawSpeciesTypes
# Draw species name
pbDrawTextPositions(@overlay_type,[
[s.name,Graphics.width/2,@h+10,2,base,shadow]
])#changed .real_name to name also for bug and it's better it support translation and custom nickname
pkev = ""
s.pokemon.evYield.each_key {|ev|
if s.pokemon.evYield[ev] > 0
pkev += " #{ev}: +#{s.pokemon.evYield[ev]} "
end }
pbDrawTextPositions(@overlay_type,[
[pkev,Graphics.width/2,@h+278,2,base,shadow]
])
@init = false
Oh yeah last thing I use the v20 version so if you need to do some change for v21 I can't help you btw if the author want to add some of this directly in the script no problem just be sure if it works because like I said in the beginning I'm just a random guy doing some tweaks that's it