fcf90ab52d
* Implemented chain fishing * Added configs * I_FISHING_MINIGAME implemented * Refactored Check For Bite * CLeaned up version of metatile checks * Removed debug script * Added helper functinons * Cleaned up CalculateFishingProximityOdds * Added new constatnts for cardinal direction and axis * Updated with constants * Reordered functions * Cleaned up some functions * Moved constants * Created UpdateChainFishingSpeciesAndStreak When 3 sides are blocked, every cast will get a mon * Created DoesFishingMinigameAllowCancel * Removed fishing chain check * Fixed bug where streak was not incremented correctly Fixed bug where Land was not properly counted Fixed bug where streak was always being read as maxed * Updated variable and function names * Updated variable and function names * Moved UpdateChainFishingSpeciesAndStreak to happen before shiny rolls occur * Removed debug statements * Applied feedback from https://github.com/rh-hideout/pokeemerald-expansion/pull/4343\#discussion_r1551278416 * Fixed default item config and changed gChainFishingDexNavStreak and sLastFishingSpecies to only use EWRAM when features are enabled * Update include/config/item.h Include feedback from https://github.com/rh-hideout/pokeemerald-expansion/pull/4343#discussion_r1567145660 Co-authored-by: Bassoonian <iasperbassoonian@gmail.com> * Changed Dexnav to DexNav per https://github.com/rh-hideout/pokeemerald-expansion/pull/4343\#discussion_r1567145660 --------- Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
49 lines
1.3 KiB
C
49 lines
1.3 KiB
C
#ifndef GUARD_WILD_ENCOUNTER_H
|
|
#define GUARD_WILD_ENCOUNTER_H
|
|
|
|
#include "constants/wild_encounter.h"
|
|
|
|
struct WildPokemon
|
|
{
|
|
u8 minLevel;
|
|
u8 maxLevel;
|
|
u16 species;
|
|
};
|
|
|
|
struct WildPokemonInfo
|
|
{
|
|
u8 encounterRate;
|
|
const struct WildPokemon *wildPokemon;
|
|
};
|
|
|
|
struct WildPokemonHeader
|
|
{
|
|
u8 mapGroup;
|
|
u8 mapNum;
|
|
const struct WildPokemonInfo *landMonsInfo;
|
|
const struct WildPokemonInfo *waterMonsInfo;
|
|
const struct WildPokemonInfo *rockSmashMonsInfo;
|
|
const struct WildPokemonInfo *fishingMonsInfo;
|
|
};
|
|
|
|
extern const struct WildPokemonHeader gWildMonHeaders[];
|
|
extern bool8 gIsFishingEncounter;
|
|
extern bool8 gIsSurfingEncounter;
|
|
extern u8 gChainFishingDexNavStreak;
|
|
|
|
void DisableWildEncounters(bool8 disabled);
|
|
u8 PickWildMonNature(void);
|
|
bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior);
|
|
bool8 SweetScentWildEncounter(void);
|
|
bool8 DoesCurrentMapHaveFishingMons(void);
|
|
void FishingWildEncounter(u8 rod);
|
|
u16 GetLocalWildMon(bool8 *isWaterMon);
|
|
u16 GetLocalWaterMon(void);
|
|
bool8 UpdateRepelCounter(void);
|
|
bool8 TryDoDoubleWildBattle(void);
|
|
bool8 StandardWildEncounter_Debug(void);
|
|
void ResetChainFishingDexNavStreak(void);
|
|
bool32 IsCurrentEncounterFishing(void);
|
|
u32 CalculateChainFishingShinyRolls(void);
|
|
|
|
#endif // GUARD_WILD_ENCOUNTER_H
|