finished safari_zone
This commit is contained in:
+1
-1
@@ -996,7 +996,7 @@ void sub_8111368(void)
|
||||
else
|
||||
{
|
||||
sub_8111274(gUnknown_203ADF8, 1);
|
||||
warp_in();
|
||||
WarpIntoMap();
|
||||
gFieldCallback2 = sub_8111000;
|
||||
SetMainCallback2(sub_805726C);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
#include "global.h"
|
||||
#include "battle.h"
|
||||
#include "event_scripts.h"
|
||||
#include "overworld.h"
|
||||
#include "battle.h"
|
||||
#include "script.h"
|
||||
#include "event_data.h"
|
||||
#include "field_screen_effect.h"
|
||||
|
||||
EWRAM_DATA u8 gNumSafariBalls = 0;
|
||||
EWRAM_DATA u16 gSafariZoneStepCounter = 0;
|
||||
|
||||
bool32 GetSafariZoneFlag(void)
|
||||
{
|
||||
return FlagGet(FLAG_SYS_SAFARI_MODE);
|
||||
}
|
||||
|
||||
void SetSafariZoneFlag(void)
|
||||
{
|
||||
FlagSet(FLAG_SYS_SAFARI_MODE);
|
||||
}
|
||||
|
||||
void ResetSafariZoneFlag(void)
|
||||
{
|
||||
FlagClear(FLAG_SYS_SAFARI_MODE);
|
||||
}
|
||||
|
||||
void EnterSafariMode(void)
|
||||
{
|
||||
IncrementGameStat(GAME_STAT_ENTERED_SAFARI_ZONE);
|
||||
SetSafariZoneFlag();
|
||||
gNumSafariBalls = 30;
|
||||
gSafariZoneStepCounter = 600;
|
||||
}
|
||||
|
||||
void ExitSafariMode(void)
|
||||
{
|
||||
ResetSafariZoneFlag();
|
||||
gNumSafariBalls = 0;
|
||||
gSafariZoneStepCounter = 0;
|
||||
}
|
||||
|
||||
bool8 SafariZoneTakeStep(void)
|
||||
{
|
||||
if (GetSafariZoneFlag() == FALSE)
|
||||
return FALSE;
|
||||
gSafariZoneStepCounter--;
|
||||
if (gSafariZoneStepCounter == 0)
|
||||
{
|
||||
ScriptContext1_SetupScript(EventScript_SafariTimesUp);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void SafariZoneRetirePrompt(void)
|
||||
{
|
||||
ScriptContext1_SetupScript(EventScript_SafariRetire);
|
||||
}
|
||||
|
||||
void CB2_EndSafariBattle(void)
|
||||
{
|
||||
if (gNumSafariBalls != 0)
|
||||
{
|
||||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS)
|
||||
{
|
||||
ScriptContext2_RunNewScript(EventScript_SafariWarpOut);
|
||||
WarpIntoMap();
|
||||
gFieldCallback = sub_807E3EC;
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
}
|
||||
else if (gBattleOutcome == B_OUTCOME_CAUGHT)
|
||||
{
|
||||
ScriptContext1_SetupScript(EventScript_SafariOutOfBalls);
|
||||
ScriptContext1_Stop();
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1984,7 +1984,7 @@ bool8 ScrCmd_playslotmachine(struct ScriptContext *ctx)
|
||||
{
|
||||
u8 slotMachineIndex = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
PlaySlotMachine(slotMachineIndex, c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
PlaySlotMachine(slotMachineIndex, CB2_ReturnToFieldContinueScriptPlayMapMusic);
|
||||
ScriptContext1_Stop();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+2
-2
@@ -323,8 +323,8 @@ static void Task_SeaGallop_3(void)
|
||||
PlayRainStoppingSoundEffect();
|
||||
PlaySE(SE_KAIDAN);
|
||||
gFieldCallback = sub_807DF64;
|
||||
warp_in();
|
||||
SetMainCallback2(sub_805671C);
|
||||
WarpIntoMap();
|
||||
SetMainCallback2(CB2_LoadMap);
|
||||
ResetInitialPlayerAvatarState();
|
||||
FreeFerrySpriteResources();
|
||||
Free(sBg3TilemapBuffer);
|
||||
|
||||
+1
-1
@@ -1106,7 +1106,7 @@ void sub_815E068(u8 battleType, u8 facilityClass)
|
||||
|
||||
void sub_815E114(void)
|
||||
{
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
|
||||
}
|
||||
|
||||
void sub_815E124(u8 taskId)
|
||||
|
||||
@@ -229,7 +229,7 @@ void sub_814F32C(void)
|
||||
Free(GetBgTilemapBuffer(i));
|
||||
}
|
||||
Free(gUnknown_3002040);
|
||||
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
|
||||
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
|
||||
}
|
||||
|
||||
void sub_814F364(s16 * unk0, s16 * unk1)
|
||||
|
||||
Reference in New Issue
Block a user