Document Viridian City scripts and adjacent routes

This commit is contained in:
GriffinR
2020-01-24 14:42:46 -05:00
parent 85e5c57e8c
commit c0be66fc2e
63 changed files with 853 additions and 848 deletions
+5 -4
View File
@@ -50,6 +50,7 @@
#include "cable_club.h"
#include "constants/abilities.h"
#include "constants/battle_move_effects.h"
#include "constants/battle_setup.h"
#include "constants/hold_effects.h"
#include "constants/items.h"
#include "constants/moves.h"
@@ -3716,12 +3717,12 @@ static void HandleEndTurn_BattleLost(void)
}
else
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && ScrSpecial_GetTrainerBattleMode() == 9)
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL)
{
if (sub_80803D8() & 1)
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
if (GetRivalBattleFlags() & RIVAL_BATTLE_HEAL_AFTER)
gBattleCommunication[MULTISTRING_CHOOSER] = 1; // Dont do white out text
else
gBattleCommunication[MULTISTRING_CHOOSER] = 2;
gBattleCommunication[MULTISTRING_CHOOSER] = 2; // Do white out text
gBattlerAttacker = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
}
else
+13 -14
View File
@@ -78,7 +78,7 @@ static EWRAM_DATA u8 *sTrainerVictorySpeech = NULL;
static EWRAM_DATA u8 *sTrainerCannotBattleSpeech = NULL;
static EWRAM_DATA u8 *sTrainerBattleEndScript = NULL;
static EWRAM_DATA u8 *sTrainerABattleScriptRetAddr = NULL;
static EWRAM_DATA u16 gUnknown_20386CC = 0;
static EWRAM_DATA u16 sRivalBattleFlags = 0;
static const u8 sBattleTransitionTable_Wild[][2] =
{
@@ -148,11 +148,11 @@ static const struct TrainerBattleParameter sOrdinaryNoIntroBattleParams[] =
{&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR},
};
static const struct TrainerBattleParameter sTutorialBattleParams[] =
static const struct TrainerBattleParameter sEarlyRivalBattleParams[] =
{
{&sTrainerBattleMode, TRAINER_PARAM_LOAD_VAL_8BIT},
{&gTrainerBattleOpponent_A, TRAINER_PARAM_LOAD_VAL_16BIT},
{&gUnknown_20386CC, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sRivalBattleFlags, TRAINER_PARAM_LOAD_VAL_16BIT},
{&sTrainerAIntroSpeech, TRAINER_PARAM_CLEAR_VAL_32BIT},
{&sTrainerADefeatSpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
{&sTrainerVictorySpeech, TRAINER_PARAM_LOAD_VAL_32BIT},
@@ -706,7 +706,7 @@ static void InitTrainerBattleVariables(void)
sTrainerCannotBattleSpeech = NULL;
sTrainerBattleEndScript = NULL;
sTrainerABattleScriptRetAddr = NULL;
gUnknown_20386CC = 0;
sRivalBattleFlags = 0;
}
static inline void SetU8(void *ptr, u8 value)
@@ -808,8 +808,8 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
SetMapVarsToTrainer();
gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A);
return EventScript_TryDoRematchBattle;
case TRAINER_BATTLE_TUTORIAL:
TrainerBattleLoadArgs(sTutorialBattleParams, data);
case TRAINER_BATTLE_EARLY_RIVAL:
TrainerBattleLoadArgs(sEarlyRivalBattleParams, data);
return EventScript_DoTrainerBattle;
default:
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
@@ -846,9 +846,9 @@ u8 ScrSpecial_GetTrainerBattleMode(void)
return sTrainerBattleMode;
}
u16 sub_80803D8(void)
u16 GetRivalBattleFlags(void)
{
return gUnknown_20386CC;
return sRivalBattleFlags;
}
u16 ScrSpecial_HasTrainerBeenFought(void)
@@ -885,8 +885,7 @@ void ClearTrainerFlag(u16 trainerId)
void BattleSetup_StartTrainerBattle(void)
{
gBattleTypeFlags = BATTLE_TYPE_TRAINER;
if (ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_TUTORIAL
&& sub_80803D8() & 3)
if (ScrSpecial_GetTrainerBattleMode() == TRAINER_BATTLE_EARLY_RIVAL && GetRivalBattleFlags() & RIVAL_BATTLE_TUTORIAL)
gBattleTypeFlags |= BATTLE_TYPE_FIRST_BATTLE;
gMain.savedCallback = CB2_EndTrainerBattle;
DoTrainerBattle();
@@ -895,12 +894,12 @@ void BattleSetup_StartTrainerBattle(void)
static void CB2_EndTrainerBattle(void)
{
if (sTrainerBattleMode == TRAINER_BATTLE_TUTORIAL)
if (sTrainerBattleMode == TRAINER_BATTLE_EARLY_RIVAL)
{
if (IsPlayerDefeated(gBattleOutcome) == TRUE)
{
gSpecialVar_Result = 1;
if (gUnknown_20386CC & 1)
gSpecialVar_Result = TRUE;
if (sRivalBattleFlags & RIVAL_BATTLE_HEAL_AFTER)
{
HealPlayerParty();
}
@@ -915,7 +914,7 @@ static void CB2_EndTrainerBattle(void)
}
else
{
gSpecialVar_Result = 0;
gSpecialVar_Result = FALSE;
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
SetBattledTrainerFlag();
sub_81139BC();