29 var16 nicknameStartOffset,
30 var16 otNameStartOffset,
33 load(saveFile, offset, nicknameStartOffset, otNameStartOffset, index);
41 var16 nicknameStartOffset,
42 var16 otNameStartOffset,
50 if(saveFile ==
nullptr) {
61 level = it->getByte();
64 maxHP = it->getWord();
73 speed = it->getWord();
86 var16 nicknameStartOffset,
87 var16 otNameStartOffset,
The trainer's headline values: name, ID, money, coins, badges, starter.
bool isValidBool()
Convenience bool form of isValid().
virtual void randomize(PlayerBasics *basics=nullptr)
Randomize this Pokemon (constrained).
int spdStat()
Computed Speed stat.
int spStat()
Computed Special stat.
virtual void update(bool resetHp=false, bool resetExp=false, bool resetType=false, bool resetCatchRate=false, bool correctMoves=false)
Recompute derived stats.
virtual SaveFileIterator * save(SaveFile *saveFile=nullptr, var16 startOffset=0, svar32 speciesStartOffset=0, var16 nicknameStartOffset=0, var16 otNameStartOffset=0, var8 index=0, var8 recordSize=0x21)
Flatten one Pokemon back to the save.
void resetExp()
Reset EXP to the current level's baseline.
void correctMoves()
Repair move/PP inconsistencies.
virtual SaveFileIterator * load(SaveFile *saveFile=nullptr, var16 startOffset=0, var16 nicknameStartOffset=0, var16 otNameStartOffset=0, var8 index=0, var8 recordSize=0x21)
Expand one Pokemon from the save.
virtual void copyFrom(PokemonBox *pkmn)
Deep-copy another mon's values into this one.
int atkStat()
Computed Attack stat.
int defStat()
Computed Defense stat.
PokemonBox(SaveFile *saveFile=nullptr, var16 startOffset=0, var16 nicknameStartOffset=0, var16 otNameStartOffset=0, var8 index=0, var8 recordSize=0x21)
< Species id (raw save value).
virtual void reset()
Blank this Pokemon.
virtual void reset() override
Blank, including stored stats.
PokemonParty(SaveFile *saveFile=nullptr, var16 offset=0, var16 nicknameStartOffset=0, var16 otNameStartOffset=0, var8 index=0)
< Stored max HP.
virtual void randomize(PlayerBasics *basics=nullptr) override
Randomize, then regen stats.
virtual void copyFrom(PokemonBox *pkmn) override
Copy values from another mon (box or party).
virtual bool isBoxMon() override
False – this is a party mon.
virtual void update(bool resetHp=false, bool resetExp=false, bool resetType=false, bool resetCatchRate=false, bool correctMoves=false) override
Recompute; also refreshes stored stats.
PokemonBox * toBoxData()
This mon as a plain box record.
static PokemonParty * convertToParty(PokemonBox *data)
New party mon from a box record (regenerates stats).
static PokemonBox * convertToBox(PokemonParty *data)
New box record from a party mon (drops stored stats).
void regenStats()
Recompute the five stored stats from species/level/DVs/EVs.
virtual SaveFileIterator * load(SaveFile *saveFile=nullptr, var16 offset=0, var16 nicknameStartOffset=0, var16 otNameStartOffset=0, var8 index=0, var8 recordSize=0x2C) override
Expand a party record (record size defaults to the party's 0x2C).
protected::void maxHPChanged()
virtual SaveFileIterator * save(SaveFile *saveFile, var16 offset, svar32 speciesStartOffset, var16 nicknameStartOffset, var16 otNameStartOffset, var8 index, var8 recordSize=0x2C) override
Flatten a party record back to the save.
A moving cursor over a SaveFile, layering auto-advancing reads/writes on top of SaveFileToolset.
One loaded save: the raw 32 KB bytes, their expanded object tree, and the tools that move between the...
svar32e svar32
Signed, exactly 32-bit (shorthand for svar32e).
var8e var8
Everyday 8-bit alias. Exact (not "fastest") to dodge the pointer-width bug noted above.
var16e var16
Everyday 16-bit alias. Exact width to avoid the "fastest" widening bug.