summaryrefslogtreecommitdiff
path: root/src/wild_encounter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wild_encounter.c')
-rw-r--r--src/wild_encounter.c42
1 files changed, 15 insertions, 27 deletions
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 151088cd6..8e983c300 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -1,11 +1,15 @@
#include "global.h"
+#include "wild_encounter.h"
+#include "asm.h"
+#include "field_player_avatar.h"
+#include "safari_zone.h"
+#include "battle_setup.h"
#include "abilities.h"
-#include "fieldmap.h"
-#include "pokemon.h"
#include "rng.h"
#include "script.h"
-#include "flag.h"
-#include "var.h"
+#include "event_data.h"
+#include "rom4.h"
+#include "metatile_behavior.h"
struct WildPokemon
{
@@ -30,22 +34,6 @@ struct WildPokemonHeader
struct WildPokemonInfo *fishingMonsInfo;
};
-extern bool8 sub_805759C(u8);
-extern void GetXYCoordsOneStepInFrontOfPlayer(void *, void *);
-extern s16 sub_810CAE4(u8, struct Pokeblock *);
-extern bool32 GetSafariZoneFlag(void);
-extern u8 TestPlayerAvatarFlags(u8);
-extern u8 MetatileBehavior_IsLandWildEncounter(u8);
-extern u8 sub_81344CC(void);
-extern u8 MetatileBehavior_IsWaterWildEncounter(u8);
-extern void CheckForSafariZoneAndProceed(void);
-extern u8 MetatileBehavior_IsBridge(u8);
-extern void PlayerGetDestCoords(u16 *x, u16 *y);
-extern void sub_80BEA50(u16);
-extern void sav12_xor_increment(u8);
-extern int MapGridGetMetatileBehaviorAt(int x, int y);
-extern struct Pokeblock *SafariZoneGetActivePokeblock(void);
-
extern u16 gRoute119WaterTileData[];
extern struct WildPokemonHeader gWildMonHeaders[];
extern struct Pokemon gEnemyParty[6];
@@ -399,7 +387,7 @@ static bool8 DoWildEncounterRateDiceRoll(u16 encounterRate)
static bool8 DoWildEncounterTest(u32 encounterRate, bool8 ignoreAbility)
{
encounterRate *= 16;
- if (TestPlayerAvatarFlags(6))
+ if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_MACH_BIKE | PLAYER_AVATAR_FLAG_ACRO_BIKE))
encounterRate = encounterRate * 80 / 100;
ApplyFluteEncounterRateMod(&encounterRate);
ApplyCleanseTagEncounterRateMod(&encounterRate);
@@ -454,7 +442,7 @@ bool8 StandardWildEncounter(u16 a, u16 b)
roamer = &gSaveBlock1.roamer;
if (RepelCheck(roamer->level))
{
- sub_8081A5C();
+ StartBattle_Roamer();
return 1;
}
}
@@ -474,7 +462,7 @@ bool8 StandardWildEncounter(u16 a, u16 b)
}
}
else if (MetatileBehavior_IsWaterWildEncounter(a) == TRUE
- || (TestPlayerAvatarFlags(8) && MetatileBehavior_IsBridge(a) == TRUE))
+ || (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING) && MetatileBehavior_IsBridge(a) == TRUE))
{
if (gWildMonHeaders[headerNum].waterMonsInfo)
{
@@ -488,7 +476,7 @@ bool8 StandardWildEncounter(u16 a, u16 b)
roamer = &gSaveBlock1.roamer;
if (RepelCheck(roamer->level))
{
- sub_8081A5C();
+ StartBattle_Roamer();
return 1;
}
}
@@ -553,7 +541,7 @@ bool8 SweetScentWildEncounter(void)
return FALSE;
if (sub_81344CC() == TRUE)
{
- sub_8081A5C();
+ StartBattle_Roamer();
return TRUE;
}
if (DoMassOutbreakEncounterTest() == TRUE)
@@ -570,7 +558,7 @@ bool8 SweetScentWildEncounter(void)
return FALSE;
if (sub_81344CC() == TRUE)
{
- sub_8081A5C();
+ StartBattle_Roamer();
return TRUE;
}
GenerateWildMon(wildPokemonInfo, 1, FALSE);
@@ -608,7 +596,7 @@ void FishingWildEncounter(u8 rod)
gWildMonHeaders[GetCurrentMapWildMonHeader()].fishingMonsInfo,
rod);
}
- sav12_xor_increment(12);
+ IncrementGameStat(12);
sub_80BEA50(species);
CheckForSafariZoneAndProceed();
}