diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/event_data.c | 14 | ||||
-rw-r--r-- | src/field_control_avatar.c | 2 | ||||
-rw-r--r-- | src/field_specials.c | 16 | ||||
-rw-r--r-- | src/overworld.c | 6 |
4 files changed, 20 insertions, 18 deletions
diff --git a/src/event_data.c b/src/event_data.c index e75c37773..5ca288e7b 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -131,13 +131,13 @@ void sub_809D4D8(void) void sub_809D570(void) { VarSet(VAR_EVENT_PICHU_SLOT, 0); - VarSet(VAR_0x40DE, 0); - VarSet(VAR_0x40DF, 0); - VarSet(VAR_0x40E0, 0); - VarSet(VAR_0x40E1, 0); - VarSet(VAR_0x40E2, 0); - VarSet(VAR_0x40E3, 0); - VarSet(VAR_0x40E4, 0); + VarSet(VAR_NEVER_READ_0x40DE, 0); + VarSet(VAR_NEVER_READ_0x40DF, 0); + VarSet(VAR_NEVER_READ_0x40E0, 0); + VarSet(VAR_NEVER_READ_0x40E1, 0); + VarSet(VAR_NEVER_READ_0x40E2, 0); + VarSet(VAR_NEVER_READ_0x40E3, 0); + VarSet(VAR_NEVER_READ_0x40E4, 0); } void DisableResetRTC(void) diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 90f7f4d5e..7bb2b257d 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -557,7 +557,7 @@ static bool8 TryStartStepCountScript(u16 metatileBehavior) ScriptContext1_SetupScript(EventScript_EggHatch); return TRUE; } - if (sub_813B3B0() == TRUE) + if (UnusualWeatherHasExpired() == TRUE) { ScriptContext1_SetupScript(UnusualWeather_EventScript_EndEventAndCleanup_1); return TRUE; diff --git a/src/field_specials.c b/src/field_specials.c index a5edb0122..7bfce8dd9 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3424,7 +3424,7 @@ bool8 sub_813B260(void) void CreateUnusualWeatherEvent(void) { u16 randomValue = Random(); - VarSet(VAR_0x4038, 0); + VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, 0); if (FlagGet(FLAG_DEFEATED_KYOGRE) == TRUE) { @@ -3466,12 +3466,12 @@ bool32 GetUnusualWeatherMapNameAndType(void) } } -bool8 sub_813B3B0(void) +bool8 UnusualWeatherHasExpired(void) { // Duplicate array. static const u8 sUnusualWeatherMapNumbers_2[] = { 0x1d, 0x1d, 0x1e, 0x1e, 0x1f, 0x1f, 0x21, 0x21, 0x14, 0x14, 0x28, 0x28, 0x2a, 0x2a, 0x2c, 0x2c }; - u16 var1 = VarGet(VAR_0x4038); + u16 steps = VarGet(VAR_UNUSUAL_WEATHER_STEP_COUNTER); u16 unusualWeather = VarGet(VAR_UNUSUAL_WEATHER_LOCATION); if (unusualWeather == UNUSUAL_WEATHER_NONE) @@ -3479,9 +3479,9 @@ bool8 sub_813B3B0(void) return FALSE; } - if (++var1 > 999) + if (++steps > 999) { - VarSet(VAR_0x4038, 0); + VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, 0); if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNDERWATER_MARINE_CAVE)) { switch (gSaveBlock1Ptr->location.mapNum) @@ -3491,7 +3491,7 @@ bool8 sub_813B3B0(void) case MAP_NUM(MARINE_CAVE_END): case MAP_NUM(TERRA_CAVE_ENTRANCE): case MAP_NUM(TERRA_CAVE_END): - VarSet(VAR_0x4039, 1); + VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 1); return FALSE; default: break; @@ -3506,7 +3506,7 @@ bool8 sub_813B3B0(void) case MAP_NUM(UNDERWATER5): case MAP_NUM(UNDERWATER6): case MAP_NUM(UNDERWATER7): - VarSet(VAR_0x4039, 1); + VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 1); return FALSE; default: break; @@ -3526,7 +3526,7 @@ bool8 sub_813B3B0(void) } else { - VarSet(VAR_0x4038, var1); + VarSet(VAR_UNUSUAL_WEATHER_STEP_COUNTER, steps); return FALSE; } } diff --git a/src/overworld.c b/src/overworld.c index edc4d402c..4206be448 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -408,9 +408,11 @@ static void Overworld_ResetStateAfterWhiteOut(void) FlagClear(FLAG_SYS_SAFARI_MODE); FlagClear(FLAG_SYS_USE_STRENGTH); FlagClear(FLAG_SYS_USE_FLASH); - if (VarGet(VAR_0x4039) == 1) + // If you were defeated by Kyogre/Groudon and the step counter has + // maxed out, end the unusual weather. + if (VarGet(VAR_SHOULD_END_UNUSUAL_WEATHER) == 1) { - VarSet(VAR_0x4039, 0); + VarSet(VAR_SHOULD_END_UNUSUAL_WEATHER, 0); VarSet(VAR_UNUSUAL_WEATHER_LOCATION, UNUSUAL_WEATHER_NONE); } } |