• 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