Crystal Engine – Base Stat Forumla



This allows for the Pokémon stat Forumla to be applied to actors.

What are Base Stats?

From the Bulbapedia Page on Base Stats

Base stats are the general outline of statistics for a specific Pokémon species.

Base stats usually give a general idea of the strengths and weaknesses a specific Pokémon will have. Pokémon often focus on some stats more than others. For example, Umbreon is mainly a defensive Pokémon; therefore its base stats in Attack and Special Attack are low compared to their corresponding defensive stats.

Base stats range from 1 to 255, and are most often the prime representation a Pokémon species has in battle. For example, Blissey has the highest possible HP base stat (255), but has Attack and Defense base stats of 10.

Commonly, related Pokémon will have similar base stats, though distributed differently. This is one main difference between the two or more branches of a split evolutionary line. For example, while Gardevoir’s base stats for Attack and Special Attack are 65 and 125, respectively, its counterpart Gallade’s Attack and Special Attack stats have inverted values. Pokémon of a higher evolutionary stage will also usually have higher base stats than those of a lower one, and will have higher total stats than those of their pre-evolved counterparts; the only exceptions are Shedinja, whose base stat total is lower than its pre-evolved form, Nincada, by 30, and Scizor, whose base stat total is the same as its pre-evolved form, Scyther.

Pokémon with very high base stat totals are often banned from tournaments. This is because they are considered too powerful.”

What are IVs?

From the Bulbapedia page on Individual Values

Individual valuesIVs for short, sometimes also known as determinant valuesDVs for short, are the Pokémon equivalent of genes. They are instrumental in determining the stats of a Pokémon, being responsible for the large variation in stats among untrained Pokémon of the same species.”

What are EVs?

From the Bulbapedia page on Effort Values

Effort values (abbreviated EVs and previously called Stat Exp) are attributes which give bonuses to a Pokémon’s stats and improve differently depending which Pokémon they defeat. These bonuses, in the form of effort points, are gained in addition to bonuses gained by increasing level. A Pokémon which increases in level using a Rare Candy instead of battling does not gain any EVs, making it weaker than a Pokémon who increases in level normally.

Roughly speaking, defeating fast Pokémon increases Speed better than fighting slow Pokémon, defeating Pokémon with high hit points improves HP more than defeating Pokémon with low HP, and so on. For example, fighting 100 Machop will improve a Pokémon’s Attack stat more than fighting 100 Abra of the same level, whereas the Abra will improve the Special Attack stat more.

Unlike experience points, which are reduced when multiple Pokémon are receiving experience, effort points are awarded equally to all Pokémon who participated in defeating a Pokémon. Though they are shared, each of the Pokémon will receive the standard amount of effort points.

In Generation I and Generation II effort points given are equal to the Pokémon’s base stats. For a list of the effort points that Pokémon give away on their defeat in Generation III,Generation IV, and Generation V see list of Pokémon by effort value yield.

Gaining effort points to increase desired EVs varies from being simple to complicated, depending on whether one wants their Pokémon to fully max out its stats or raise them to balanced heights. Should a Pokémon attain the maximum amount of 510 effort values, it will be eligible to receive an Effort Ribbon to signify this achievement (Generation III and IV). In Pokémon Black and White, there is an NPC in a house in Opelucid City who will tell the player if the Pokémon at the front of his or her party has attained 510 total effort values. In Pokémon Black 2 and White 2, Bianca, when called on the Xtransceiver, will tell the player whether a certain Pokémon in the party has attained 510 total effort values. She will also notify the player if a Pokémon has reached 252 effort values in any stat.”

What are Natures?

From the Bulbapedia page on Natures

Natures (Japanese: せいかく Personality) are the Pokémon analogue of personalities. They were introduced in the Generation III games and remain a game mechanic in Generation IVand Generation V. Every Pokémon in these games has one of these 25 Natures, listed and described in the section below.

A Pokémon’s Nature usually affects the growth rate of two of its stats, ultimately increasing one of its stats by 10% and decreasing another by 10%. Natures also determine the Pokémon’s favorite flavor and its disliked flavor. Each stat is tagged to a flavor (e.g. Attack-Spicy), and if the Nature boosts the stat, the tagged flavor will be the Pokémon’s favorite (i.e. Lonely boosts Attack, hence a Lonely-natured Pokémon’s favorite flavor is Spicy). The opposite also holds true (i.e. Bold hinders Attack, so a Bold-natured Pokémon will dislike Spicy food).

Every Nature represents one of the 25 unique possible combination of stat increase and decrease, thus there are five Natures that have no effect on the Pokémon’s stat growth (Bashful, Docile, Hardy, Quirky and Serious). These five “neutral” Natures are technically Natures that increase and decrease the same stat.

From Emerald onwards, a Ditto or a female Pokémon that holds an Everstone has a 50% chance of passing its Nature to its offspring when at the Pokémon daycare. Since HeartGold and SoulSilver, male Pokémon can also pass on their Nature with an Everstone. In Generation IV, parents could only pass Natures to their offspring if both Pokémon and the Trainer all came from a game in the same language. Also from Emerald onwards, if a Pokémon with the Ability Synchronize is leading the party, there is a 50% chance of encountering a wild Pokémon with the same Nature. Synchronize affects any encounter, including stationary legends, but excluding Pokémon that are received from an NPC, such as the Eevee given out by Bill inHeartGold and SoulSilver, Pokémon are received in a museum after being resurrected from Fossils, or catching Pokémon during a Stroll in the Pokéwalker bundled with HeartGold and SoulSilver.

Natures also dictate the manner in which Pokémon battle by themselves at the Battle Palace, different Natures (including the five non-increasing/decreasing ones) make the Pokémon use different methods of attacks and change tactics when they are low on health. A man in a house closest to the Sunyshore City Heritage Site asks to see Pokémon with different Natures (Serious, Naive and Quirky), and will give the player three Pokétch applications.

Since HeartGold and SoulSilver the stat increased or decreased by a Pokémon’s Nature has a red or blue shadow respectively when viewing that Pokémon’s summary screen.”

Actor/Enemy Notetags

<iv stat: x> Sets the IV for that stat to x
<nature: x> Sets the nature to x (See bellow for the Number => Name info)

Class Notetags

<base stat: x> Sets the base for the stat to x

Skill/Item Notetags

<ev cap stat: x: y> Makes it so that the item can’t raise stat above x  and raises it by y
<ev gain stat: x> Raises the stat by x

Script Download and Requirements

Required: Crystal Engine – Enemy Classes and Levels

Download the Latest Version

Categories: Scripts | 9 Comments

Post navigation

9 thoughts on “Crystal Engine – Base Stat Forumla

  1. Zeifyl

    Script ‘Base Stat Formula’ line 577: NoMethodError occurred.

    undefined method `+’ for nil:NilClass


  2. Raphael

    When i add a nature to my actor on the notetags, after i defeat a enemy, i get the following error on the Pokemon Battle System script:

    “Script CE – Pokemon Battle System v1.07 line 1501: NameError occurred.
    Undefined local variable or method ‘equips’ for

    Help me, please.

  3. Raphael


    It erased the final part of the error. I also noted that the number after “Game_Enemy” changes everytime i get the error.

  4. Correct me if I’m wrong, but it seems to me that, through this script, actors only gain EV’s with the use of a skill or an item, while in the pokemon series the main way of gaining EV’s is defeating other pokemons, each yielding different EV values, according to this list

    Is there any way you could make it so EV’s are gained upon defeating enemies? Or are you using any other script for that feature?

  5. Fam

    Great script, but both actors and enemies have more hp and mp than their max stat allows eg 2500/150

  6. Andrew

    I have some trouble on adding base stats.

    When a pokemon uses a physical attack, it uses physical speed. If a pokemon uses a special attack, it uses special speed instead. These are the two speedy stats I need.

    If Heliolisk uses a special attack, it goes slower since its frills delay its attack.

    If Alakazam uses a physical attack, it goes much slower due to running instead of levitation.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at

%d bloggers like this: