Essentials Docs Wiki
Essentials Docs Wiki
For general information on Pokémon forms, see Forms.

Charizard and Venusaur using Mega Evolution (animated image)

Mega Evolution is a system introduced in Pokémon X and Y to enhance some Pokémon by temporarily boosting their stats and other features during battle. In Essentials, these changes are treated as a kind of form change.

How Mega Evolution works

Mega Evolution can occur when the player possesses a Mega Ring, and when a particular Pokémon is holding a particular item. If these conditions are met, then the option to Mega Evolve that Pokémon will appear in the Fight menu when choosing a move for that Pokémon to use. Only one Pokémon per trainer can Mega Evolve in a given battle.

The Mega Evolution is an extra part of a battle round, and a Pokémon can both Mega Evolve and use a move in the same round. The Pokémon remains Mega Evolved until the end of the current battle, regardless of whether it switches out or faints. Its held item (the Mega Stone) is not consumed by this process, and in fact, a Pokémon cannot drop or otherwise lose its Mega Stone by any means.

Defining a Mega Evolution

There are three parts to this: defining a Mega form, defining a Mega Ring (and giving it to the player), and defining one or more Mega Stones.

Mega form

Main article: Forms

A Mega Evolution behaves in Essentials as a form change. The Mega forms of Pokémon are therefore defined in the PBS file "pokemonforms.txt" like any other form.

There are four properties of a form that are exclusively used for Mega forms. These are:

  • MegaStone - The Mega Stone item that needs to be held by a Pokémon for it to transform into this Mega form.
  • UnmegaForm - The form that this Mega form will revert to after battle. Default is 0.
  • MegaMove - An alternative to Mega Stones, this is a move that needs to be known by a Pokémon to allow its transformation into this Mega form. Typically used only for Rayquaza.
  • MegaMessage - A number that defines the message shown during Mega Evolution. Again, typically used only for Rayquaza.

Of these four properties, you will typically only use the first one.

The FormName property should be "Mega Venusaur" (or similar).

Mega Ring

A Mega Ring is the counterpart to Mega Stones held by Pokémon. The Mega Ring is an item in the player's Bag.

In the script section Settings is an array called MEGARINGS. Items listed in this array are Mega Rings. The player can use any of them for Mega Evolution. Otherwise, they are normal items with no effect (like Key Cards).

Mega Stones

Main article: Defining an item

A Mega Stone is an item to be held by a Pokémon. It has no effect of its own.

A Mega Stone should be defined with a "special item" value of 12. This (currently) has the only effect of making Fling's base power 80 when it throws a Mega Stone (this is possible if the Mega Stone does not match the species of the Pokémon holding it).

A Mega Move (e.g. Dragon Ascent for Rayquaza) is no different to any other move. Nothing special needs to be defined or written for it.

Mega Evolution animation

When a Pokémon Mega Evolves, a few messages are shown stating what happens. Two Common animations are also shown: one called "MegaEvolution" which plays first, and one called "MegaEvolution2" which plays immediately after the first. The Pokémon's sprite changes from its normal form to its Mega form between these two animations, so each animation should only show half of the whole Mega Evolution visual effect.

Preventing Mega Evolution

In the script section Settings, the value NO_MEGA_EVOLUTION is defined (34 by default). If the Game Switch of this number is on, then no Pokémon is able to Mega Evolve, no matter what. This applies to both the player and foe trainers alike.

Setting up a foe trainer for Mega Evolution

Main article: Defining a trainer

NPC trainers are assumed to have a Mega Ring. They do not need to be given one specially. By default, this will be called "Mega Ring", although you can add code to customise the name of Mega Ring items for particular trainers. def pbGetMegaRingName in the script section PokeBattle_Battle contains an example of such code, which causes Bug Catchers to possess Mega Nets.

The only thing you need to do is to ensure that NPC trainers' Pokémon are holding their Mega Stones (only for Pokémon that should Mega Evolve, of course).

NPC trainers will always try to Mega Evolve their Pokémon. They are still limited to one Mega Evolution per battle, just as the player is.