pmd-red/include/pokemon_3.h
2025-12-18 07:14:45 -05:00

40 lines
1.6 KiB
C

#ifndef GUARD_POKEMON_3_H
#define GUARD_POKEMON_3_H
#include "pokemon.h"
#include "structs/str_spawn_pokemon_data.h"
void GenerateHiddenPower(HiddenPower* a1);
bool8 HasRecruitedMon(s32 species_);
s16 GetBaseSpecies(s16 index);
s16 GetBaseSpeciesNoUnown(s16 index);
s32 GetUnownIndex(s16 index);
s16 ExtractSpeciesIndex(SpawnPokemonData *data);
void SetSpeciesToExtract(SpawnPokemonData *data, s32 species_);
void SetSpeciesLevelToExtract(SpawnPokemonData *data, s32 level, s32 species_);
s32 ExtractLevel(SpawnPokemonData *data);
const u8 *GetIQSkillName(u8 skill);
void CopyTacticsNameToBuffer(char *buffer, u8 tactic);
const u8 *GetIQSkillDescription(u8 skill);
const u8 *GetTacticsDescription(u8 tactic);
bool8 TacticsTargetLeader(u8 tactic);
void GetAvailTacticsforLvl(u8 *tacticsBuffer, s32 pokeLevel);
void GetUnlockedTacticFlags(u8 *tacticsBuffer, s32 pokeLevel);
bool8 HasIQForSkill(s32 pokeIQ, u8 IQSkillIndex);
s32 GetNumAvailableIQSkills(u8 *iqSkillBuffer, s32 pokeIQ);
void ToggleIQSkill(IqSkillFlags *iq, u32 skillIndex);
void SetIQSkill(IqSkillFlags *iq, u32 skillIndex);
void SetDefaultIQSkills(IqSkillFlags *iq, bool8 enableSelfCurer);
bool8 IsIQSkillSet(IqSkillFlags *iq, u32 IQSkillBit);
void sub_808ED00(void);
s32 SaveRecruitedPokemon(u8 *a1, s32 a2);
s32 RestoreRecruitedPokemon(u8 *a1, s32 a2);
void WritePoke1Bits(DataSerializer *, Pokemon *pokemon);
void ReadPoke1Bits(DataSerializer *, Pokemon *);
s32 SavePoke2s(u8* buffer, s32 size);
s32 RestorePoke2s(u8* a1, s32 size);
void ReadPoke1LevelBits(DataSerializer* a1, unkPokeSubStruct_C* unkC);
void WritePoke1LevelBits(DataSerializer* a1, unkPokeSubStruct_C* unkC);
#endif // GUARD_POKEMON_3_H