|
Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
|
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>
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). | |
| AreaPokemonWild * | grassMonsAt (int ind) |
Grass slot ind (GC-protected return). | |
| void | grassMonsSwap (int from, int to) |
| Reorder grass slots. | |
| int | waterMonsCount () |
| Water-slot count (wildMonsCount). | |
| AreaPokemonWild * | waterMonsAt (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 |
| AreaPokemonWild * | grassMons [wildMonsCount] |
| The 10 grass-encounter slots. | |
| int | waterRate |
| AreaPokemonWild * | waterMons [wildMonsCount] |
| The 10 water-encounter slots. | |
| bool | pauseMons3Steps |
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.
Definition at line 96 of file areapokemon.h.
| 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.
|
virtual |
Definition at line 112 of file areapokemon.cpp.
References grassMons, waterMons, and wildMonsCount.
| AreaPokemonWild * AreaPokemon::grassMonsAt | ( | int | ind | ) |
Grass slot ind (GC-protected return).
Definition at line 125 of file areapokemon.cpp.
References grassMons, and qmlCppOwned().
| void AreaPokemon::grassMonsChanged | ( | ) |
Referenced by grassMonsSwap(), load(), randomize(), reset(), and setTo().
| int AreaPokemon::grassMonsCount | ( | ) |
Grass-slot count (wildMonsCount).
Definition at line 120 of file areapokemon.cpp.
References wildMonsCount.
| void AreaPokemon::grassMonsSwap | ( | int | from, |
| int | to ) |
Reorder grass slots.
Definition at line 130 of file areapokemon.cpp.
References grassMons, and grassMonsChanged().
| protected::void AreaPokemon::grassRateChanged | ( | ) |
Referenced by load(), randomize(), reset(), and setTo().
| void AreaPokemon::load | ( | SaveFile * | saveFile = nullptr | ) |
Expand both encounter tables from the save.
Definition at line 162 of file areapokemon.cpp.
References grassMons, grassMonsChanged(), grassRate, grassRateChanged(), SaveFile::iterator(), load(), pauseMons3Steps, pauseMons3StepsChanged(), reset(), SaveFile::toolset, waterMons, waterMonsChanged(), waterRate, waterRateChanged(), and wildMonsCount.
Referenced by AreaPokemon(), and load().
| void AreaPokemon::randomize | ( | ) |
Randomize the encounter tables.
Definition at line 246 of file areapokemon.cpp.
References grassMons, grassMonsChanged(), grassRate, grassRateChanged(), Random::inst(), Random::rangeInclusive(), reset(), waterMons, waterMonsChanged(), waterRate, waterRateChanged(), and wildMonsCount.
Referenced by waterMonsChanged().
| void AreaPokemon::reset | ( | ) |
Blank both encounter tables.
Definition at line 226 of file areapokemon.cpp.
References grassMons, grassMonsChanged(), grassRate, grassRateChanged(), pauseMons3Steps, pauseMons3StepsChanged(), waterMons, waterMonsChanged(), waterRate, waterRateChanged(), and wildMonsCount.
Referenced by load(), randomize(), setTo(), and waterMonsChanged().
| 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().
| void AreaPokemon::setTo | ( | MapDBEntry * | map | ) |
Set encounters from map.
Definition at line 270 of file areapokemon.cpp.
References Random::flipCoin(), MapDBEntry::getMonRate(), MapDBEntry::getMonRateWater(), MapDBEntry::getMonsBlue(), MapDBEntry::getMonsRed(), MapDBEntry::getMonsWater(), grassMons, grassMonsChanged(), grassRate, grassRateChanged(), Random::inst(), reset(), waterMons, waterMonsChanged(), waterRate, and waterRateChanged().
Referenced by waterMonsChanged().
| AreaPokemonWild * AreaPokemon::waterMonsAt | ( | int | ind | ) |
Water slot ind (GC-protected return).
Definition at line 146 of file areapokemon.cpp.
References qmlCppOwned(), and waterMons.
| void AreaPokemon::waterMonsChanged | ( | ) |
References randomize(), reset(), and setTo().
Referenced by load(), randomize(), reset(), setTo(), and waterMonsSwap().
| int AreaPokemon::waterMonsCount | ( | ) |
Water-slot count (wildMonsCount).
Definition at line 141 of file areapokemon.cpp.
References wildMonsCount.
| void AreaPokemon::waterMonsSwap | ( | int | from, |
| int | to ) |
Reorder water slots.
Definition at line 151 of file areapokemon.cpp.
References waterMons, and waterMonsChanged().
| void AreaPokemon::waterRateChanged | ( | ) |
Referenced by load(), randomize(), reset(), and setTo().
| 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().
| int AreaPokemon::grassRate |
Definition at line 138 of file areapokemon.h.
Referenced by load(), randomize(), reset(), save(), and setTo().
| bool AreaPokemon::pauseMons3Steps |
Definition at line 144 of file areapokemon.h.
| 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().
| int AreaPokemon::waterRate |
Definition at line 141 of file areapokemon.h.
Referenced by load(), randomize(), reset(), save(), and setTo().