Overview
The Pokémon class system in Pokémon Essentials BES handles individual Pokémon data, stats, moves, and battle mechanics. The primary class isPokeBattle_Pokemon, which stores all data for a single Pokémon.
Source: Data/EditorScripts/031_PokeBattle_Pokemon.rb
PokeBattle_Pokemon
The main class for storing Pokémon data. Accessible via$Trainer.party for the player’s party.
Core Attributes
Stats (Read-Only)
The Pokémon’s maximum HP
Current Attack stat
Current Defense stat
Current Speed stat
Current Special Attack stat
Current Special Defense stat
Individual Values & Effort Values
Array of 6 Individual Values for HP, Attack, Defense, Speed, Special Attack, and Special DefenseRange: 0-31 for each stat
Array of 6 Effort ValuesLimits:
- Maximum 252 per stat (
EVSTATLIMIT) - Maximum 510 total (
EVLIMIT)
Basic Information
Species (National Pokédex number)
Nickname of the Pokémon
Current level (calculated from experience)Range: 1-100
Current experience points
Current happiness/friendship valueRange: 0-255
Battle State
Current HP
Status condition (see
PBStatuses)Values:0- None1- Sleep2- Poison3- Burn4- Paralysis5- Freeze
Sleep turn counter or Toxic flag
Moves
Array of up to 4 moves (PBMove objects)
The moves known when this Pokémon was first obtained
Items & Equipment
Held item ID
Consumed held item (used in battle only)
Initial held item (used in battle only)
Poké Ball type used to catch this Pokémon
Trainer Information
32-bit Personal ID (determines gender, shininess, etc.)
32-bit Trainer ID (upper 16 bits = secret ID)
Original Trainer’s name
Original Trainer’s genderValues: 0=male, 1=female, 2=mixed, 3=unknown
Special Flags
Forces the first/second/hidden ability (0/1/2)
Forces male (0) or female (1)
Forces a particular nature
Forces shininess (true/false)
Constructor
initialize
Pokémon species (ID, name, or constant)
Initial level (1-100)
Original trainer (defaults to current player if nil)
Whether to initialize with level-up moves
031_PokeBattle_Pokemon.rb:884-981
Level & Experience
level
031_PokeBattle_Pokemon.rb:121-131
isEgg?
true if @eggsteps > 0
Source: 031_PokeBattle_Pokemon.rb:134-136
growthrate
031_PokeBattle_Pokemon.rb:141-147
Gender & Nature
gender
0 (male), 1 (female), or 2 (genderless)
Source: 031_PokeBattle_Pokemon.rb:162-177
isMale? / isFemale? / isGenderless?
031_PokeBattle_Pokemon.rb:197-209
nature
@personalID % 25 (unless overridden by @natureflag)
Source: 031_PokeBattle_Pokemon.rb:297-300
setNature
Nature to set
031_PokeBattle_Pokemon.rb:316-322
Ability
ability
031_PokeBattle_Pokemon.rb:235-248
hasAbility?
Ability to check (0 = check if has any ability)
031_PokeBattle_Pokemon.rb:251-261
hasHiddenAbility?
031_PokeBattle_Pokemon.rb:268-271
Shininess
isShiny?
SHINYPOKEMONCHANCE
Source: 031_PokeBattle_Pokemon.rb:328-335
makeShiny / makeNotShiny
031_PokeBattle_Pokemon.rb:338-345
Types
type1 / type2
PBTypes)
Source: 031_PokeBattle_Pokemon.rb:396-411
hasType?
Type to check
031_PokeBattle_Pokemon.rb:387-393
Move Management
numMoves
031_PokeBattle_Pokemon.rb:417-423
hasMove?
Move to check
031_PokeBattle_Pokemon.rb:426-435
pbLearnMove
Move to learn
031_PokeBattle_Pokemon.rb:476-503
pbDeleteMove
031_PokeBattle_Pokemon.rb:506-519
pbDeleteMoveAtIndex
031_PokeBattle_Pokemon.rb:522-531
resetMoves
031_PokeBattle_Pokemon.rb:456-473
Items
hasItem?
Item to check (0 = check if holding any item)
031_PokeBattle_Pokemon.rb:627-637
setItem
031_PokeBattle_Pokemon.rb:640-645
Healing
heal
031_PokeBattle_Pokemon.rb:761-766
healHP
031_PokeBattle_Pokemon.rb:736-739
healStatus
031_PokeBattle_Pokemon.rb:742-746
healPP
Move index to heal (-1 = all moves)
031_PokeBattle_Pokemon.rb:749-758
Stat Calculation
calcStats
- HP:
((base*2 + IV + (EV/4)) * level / 100) + level + 10 - Other stats:
(((base*2 + IV + (EV/4)) * level / 100) + 5) * nature_modifier / 100
031_PokeBattle_Pokemon.rb:847-877
Usage Examples
Creating a Pokémon
Modifying Stats
Move Management
Battle State
Constants
031_PokeBattle_Pokemon.rb:55-56
Related Classes
- PBMove: Represents individual moves
- PokeBattle_Trainer: Trainer class that holds Pokémon parties
- PBSpecies: Species constant definitions
- PBTypes: Type constant definitions
- PBNatures: Nature constant definitions
See Also
- PBMove - Move instances
- PBMoveData - Move data
- Trainer Classes - Trainer management