sovereignx/include/daycare.h
sneed 2cc2dc01ca
Fix daycare move transferring between evolved mons and allow sharing moves between different forms of the same species (#4479)
* Fix daycare move transferring between evolved mons

Also allow sharing moves between different forms

* Make sure Snorlax gets Snorlax's egg moves instead of Munchlax's

* Use GET_BASE_SPECIES_ID

* Actually fix Snorlax/Roselia/etc behavior

* remove preproc checks

* rename ambiguous GetEggMovesSpecies function

* remove extra indentation, add incense breeding check

* update comment

* Update src/daycare.c

---------

Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2024-06-07 21:54:58 +02:00

38 lines
1.3 KiB
C

#ifndef GUARD_DAYCARE_H
#define GUARD_DAYCARE_H
#include "constants/daycare.h"
struct RecordMixingDaycareMail
{
struct DaycareMail mail[DAYCARE_MON_COUNT];
u32 numDaycareMons;
bool16 cantHoldItem[DAYCARE_MON_COUNT];
};
u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest);
u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest);
u8 CountPokemonInDaycare(struct DayCare *daycare);
void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDaycareMail *mixMail);
s8 Daycare_FindEmptySpot(struct DayCare *daycare);
void StoreSelectedPokemonInDaycare(void);
u16 TakePokemonFromDaycare(void);
void GetDaycareCost(void);
u8 GetNumLevelsGainedFromDaycare(void);
void TriggerPendingDaycareEgg(void);
void RejectEggFromDayCare(void);
void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation);
void GiveEggFromDaycare(void);
bool8 ShouldEggHatch(void);
u16 GetSelectedMonNicknameAndSpecies(void);
void GetDaycareMonNicknames(void);
u8 GetDaycareState(void);
u8 GetDaycareCompatibilityScore(struct DayCare *daycare);
void SetDaycareCompatibilityString(void);
bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio);
void ShowDaycareLevelMenu(void);
void ChooseSendDaycareMon(void);
u8 GetEggMovesBySpecies(u16 species, u16 *eggMoves);
bool8 SpeciesCanLearnEggMove(u16 species, u16 move);
#endif // GUARD_DAYCARE_H