• 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.

[Question] Regional Pokemon Variant Megas?

  • 2
    Posts
    9
    Years
    • Seen Jul 8, 2022
    So, for my rom hack, I'm trying to figure out how to add mega forms for a different form of a Pokemon? First, would for regional form be in pokemonforms txt or do I have to classify it as its own Pokemon? Or do I put the form in, then classify it with the mega form?
     

    StCooler

    Mayst thou thy peace discover.
  • 9,301
    Posts
    4
    Years
    • Seen May 5, 2024
    If I'm not mistaken, if you're mentioning pokemonforms.txt, then you're not working on a ROM hack, you're working with Pokémon Essentials.

    Golisopod-User made a Gen 8 project which contains the script that you want.

    The example I'm giving here is based on the case of Slowbro: form 0 can mega-evolve, and form 1 (Galarian) cannot.

    So, how do you add a new Mega to another form?

    Let's say you have a new form for Weavile. In your pokemonforms.txt, you have:
    Code:
    #-------------------------------
    [WEAVILE,1]
    FormName = This is a test form
    Type1 = GRASS
    Type2 = FAIRY
    This is the "base form" for your new Mega. Then, you need to define a new form for your Mega:
    Code:
    #-------------------------------
    [WEAVILE,2]
    FormName = Mega Weavile of the Test form
    Type1 = GRASS
    Type2 = FAIRY
    MegaStone = WEAVILETESTFORMITE
    UnmegaForm = 1

    Two lines require your attention here.

    The first line is:
    Code:
    MegaStone = WEAVILETESTFORMITE
    This is the name of the Mega Stone, here WEAVILETESTFORMITE - Weavile Test Formite.

    The second line that requires your attention is:
    Code:
    UnmegaForm = 1
    Here, you are specifying that the form 2 being a Mega-form, should revert to form 1 instead of form 0 (which it would if you don't specify this line).

    But that's not it.

    You need to do a bit of scripting too.
    Code:
    MultipleForms.register(:WEAVILE,{
      "getSpecificMegaForm" => proc { |pkmn|
        next 2 if (pkmn.form == 1 && pkmn.hasItem?(:WEAVILETESTFORMITE))
        next
      },
      "getSpecificUnmegaForm" => proc { |pkmn|
        next 1 if pkmn.form == 2
        next
      }
    })
    This script says that only form 1 of Weavile can Mega-Evolve, and it will mega-evolve into form 2.

    So, I am not sure why there seems to be redundancy between pokemonforms.txt and this script, the thing is, this script is necessary.
     
    Back
    Top