Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Loading...
Searching...
No Matches
AreaPokemon Class Reference

Rate is how likely to encounter Pokemon higher number = higher chance A rate of 0 means no wild pokemon on map. More...

#include <areapokemon.h>

Inheritance diagram for AreaPokemon:
Collaboration diagram for AreaPokemon:

Public Member Functions

 AreaPokemon (SaveFile *saveFile=nullptr)
 < Grass encounter rate (0 = none).
virtual ~AreaPokemon ()
void load (SaveFile *saveFile=nullptr)
 Expand both encounter tables from the save.
void save (SaveFile *saveFile)
 Flatten both encounter tables to the save.
int grassMonsCount ()
 Grass-slot count (wildMonsCount).
AreaPokemonWildgrassMonsAt (int ind)
 Grass slot ind (GC-protected return).
void grassMonsSwap (int from, int to)
 Reorder grass slots.
int waterMonsCount ()
 Water-slot count (wildMonsCount).
AreaPokemonWildwaterMonsAt (int ind)
 Water slot ind (GC-protected return).
void waterMonsSwap (int from, int to)
 Reorder water slots.
protected::void grassRateChanged ()
void waterRateChanged ()
void pauseMons3StepsChanged ()
void grassMonsChanged ()
void waterMonsChanged ()
void reset ()
 Blank both encounter tables.
void randomize ()
 Randomize the encounter tables.
void setTo (MapDBEntry *map)
 Set encounters from map.

Public Attributes

int grassRate
AreaPokemonWildgrassMons [wildMonsCount]
 The 10 grass-encounter slots.
int waterRate
AreaPokemonWildwaterMons [wildMonsCount]
 The 10 water-encounter slots.
bool pauseMons3Steps

Detailed Description

Rate is how likely to encounter Pokemon higher number = higher chance A rate of 0 means no wild pokemon on map.

The Pokemon list is in order from most common to most rare Pokemon 0: 19.9% chance Pokemon 1: 19.9% chance Pokemon 2: 15.2% chance Pokemon 3: 9.8% chance Pokemon 4: 9.8% chance Pokemon 5: 9.8% chance Pokemon 6: 5.1% chance Pokemon 7: 5.1% chance Pokemon 8: 4.3% chance Pokemon 9: 1.2% chance

The map's wild-encounter tables: a grass list and a water list.

Each list is exactly wildMonsCount slots (most-common to most-rare by the fixed odds above), with a grassRate / waterRate gating whether wild mons appear at all (0 = none). Standard expanded-node convention (see SaveFileExpanded); setTo() pulls a chosen map's encounter data.

See also
AreaPokemonWild (a slot), Area, MapDBEntry.

Definition at line 96 of file areapokemon.h.

Constructor & Destructor Documentation

◆ AreaPokemon()

AreaPokemon::AreaPokemon ( SaveFile * saveFile = nullptr)

< Grass encounter rate (0 = none).

Water encounter rate (0 = none). Suppress encounters for 3 steps.

Definition at line 101 of file areapokemon.cpp.

References grassMons, load(), waterMons, and wildMonsCount.

◆ ~AreaPokemon()

AreaPokemon::~AreaPokemon ( )
virtual

Definition at line 112 of file areapokemon.cpp.

References grassMons, waterMons, and wildMonsCount.

Member Function Documentation

◆ grassMonsAt()

AreaPokemonWild * AreaPokemon::grassMonsAt ( int ind)

Grass slot ind (GC-protected return).

Definition at line 125 of file areapokemon.cpp.

References grassMons, and qmlCppOwned().

◆ grassMonsChanged()

void AreaPokemon::grassMonsChanged ( )

◆ grassMonsCount()

int AreaPokemon::grassMonsCount ( )

Grass-slot count (wildMonsCount).

Definition at line 120 of file areapokemon.cpp.

References wildMonsCount.

◆ grassMonsSwap()

void AreaPokemon::grassMonsSwap ( int from,
int to )

Reorder grass slots.

Definition at line 130 of file areapokemon.cpp.

References grassMons, and grassMonsChanged().

◆ grassRateChanged()

protected::void AreaPokemon::grassRateChanged ( )

Referenced by load(), randomize(), reset(), and setTo().

◆ load()

void AreaPokemon::load ( SaveFile * saveFile = nullptr)

◆ pauseMons3StepsChanged()

void AreaPokemon::pauseMons3StepsChanged ( )

Referenced by load(), and reset().

◆ randomize()

void AreaPokemon::randomize ( )

◆ reset()

void AreaPokemon::reset ( )

◆ save()

void AreaPokemon::save ( SaveFile * saveFile)

Flatten both encounter tables to the save.

Definition at line 200 of file areapokemon.cpp.

References grassMons, grassRate, SaveFile::iterator(), pauseMons3Steps, save(), SaveFileIterator::setBit(), SaveFile::toolset, waterMons, waterRate, and wildMonsCount.

Referenced by save().

◆ setTo()

◆ waterMonsAt()

AreaPokemonWild * AreaPokemon::waterMonsAt ( int ind)

Water slot ind (GC-protected return).

Definition at line 146 of file areapokemon.cpp.

References qmlCppOwned(), and waterMons.

◆ waterMonsChanged()

void AreaPokemon::waterMonsChanged ( )

References randomize(), reset(), and setTo().

Referenced by load(), randomize(), reset(), setTo(), and waterMonsSwap().

◆ waterMonsCount()

int AreaPokemon::waterMonsCount ( )

Water-slot count (wildMonsCount).

Definition at line 141 of file areapokemon.cpp.

References wildMonsCount.

◆ waterMonsSwap()

void AreaPokemon::waterMonsSwap ( int from,
int to )

Reorder water slots.

Definition at line 151 of file areapokemon.cpp.

References waterMons, and waterMonsChanged().

◆ waterRateChanged()

void AreaPokemon::waterRateChanged ( )

Referenced by load(), randomize(), reset(), and setTo().

Member Data Documentation

◆ grassMons

AreaPokemonWild* AreaPokemon::grassMons[wildMonsCount]

The 10 grass-encounter slots.

Definition at line 139 of file areapokemon.h.

Referenced by AreaPokemon(), grassMonsAt(), grassMonsSwap(), load(), randomize(), reset(), save(), setTo(), and ~AreaPokemon().

◆ grassRate

int AreaPokemon::grassRate
See also
grassRate property.

Definition at line 138 of file areapokemon.h.

Referenced by load(), randomize(), reset(), save(), and setTo().

◆ pauseMons3Steps

bool AreaPokemon::pauseMons3Steps
See also
pauseMons3Steps property.

Definition at line 144 of file areapokemon.h.

Referenced by load(), reset(), and save().

◆ waterMons

AreaPokemonWild* AreaPokemon::waterMons[wildMonsCount]

The 10 water-encounter slots.

Definition at line 142 of file areapokemon.h.

Referenced by AreaPokemon(), load(), randomize(), reset(), save(), setTo(), waterMonsAt(), waterMonsSwap(), and ~AreaPokemon().

◆ waterRate

int AreaPokemon::waterRate
See also
waterRate property.

Definition at line 141 of file areapokemon.h.

Referenced by load(), randomize(), reset(), save(), and setTo().


The documentation for this class was generated from the following files: