• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Essentials Tutorial] (Alolavolve) Evolve Pokemon into different forms

Ego13

hollow_ego
311
Posts
6
Years
Works with Pokemon Essentials 16.2

Some of you might want to implement Alolan Forms in their game or have their Fakemons evolve into a certain form under certain conditions. One way would be to make a completely new Pokemon for that form and a new evolution method. But this requires a lot of set up.

The idea for this script came from the question of IvyMe, where he wanted an Exeggcute to evolve directly into an Alolan Exeggutor if a Leaf Stone is used on it and the sun is shining.

This tutorial will show you how to implement these conditions, using Exeggcute as an example.
We are not gonna set up a new evolution method for this tutorial, but it works just as fine with new evolution methods.

1. Set up the new form. An article on how to do that is found here.

2. When you are done, open the script section
Pokemon_Evolution

3. Now you got to find the script for the right evolution method. They start around line 870.
For our example we want to find the method for item based evolution. We find it at
Code:
def pbMiniCheckEvolutionItem(pokemon,evonib,level,poke,item)
around line 954
and it looks like this
Code:
when PBEvolution::Item
return poke if level==item

4. Now we want to add the script part that checks wether the conditons apply and if so set the form to 1.
We need to do some minor modifactions.
Change this
Code:
when PBEvolution::Item
return poke if level==item
to
Code:
when PBEvolution::Item
if level==item
return poke 
end

5. Between
Code:
when PBEvolution::Item
if level==item
and
Code:
return poke 
end
add
Code:
if isConst?(pokemon.species,PBSpecies,:EXEGGCUTE) && $game_screen.weather_type==PBFieldWeather::Sun 
pokemon.form=1       
end
Make sure that the conditions (isConst? and ($game_screen.weather_type) are either on one line or that the "&&" are at the end of the previous line. Otherwise it won't recognise it as two conditions and won't work proberly.
Note that for Exeggcute you can enter whatever Pokemon you want to evolve under these conditions. The Pokemon name has to be in all capital letters.

6. The result should look like this
Code:
 when PBEvolution::Item
if level==item
if isConst?(pokemon.species,PBSpecies,:EXEGGCUTE) && $game_screen.weather_type==PBFieldWeather::Sun 
pokemon.form=1
end  
return poke
end

If you now try to evolve your Exeggcute with a Leaf Stone, while no sun is shining, it evolves into a normal Exeggutor and if the sun is shining it evolves into an Alolan Exeggutor.

You can use other coditions with this as well. Some ideas are found in this article at the bottom.

If you want to add different coditions for different Pokemon you just copy this
Code:
elsif isConst?(pokemon.species,PBSpecies,:NEWPOKEMONHERE) && NEWCODITIONSHERE 
pokemon.form=1
between this
Code:
if isConst?(pokemon.species,PBSpecies,:EXEGGCUTE) && $game_screen.weather_type==PBFieldWeather::Sun 
pokemon.form=1
and
Code:
end  
return poke
end
 
Back
Top