Document battle tower TV show
This commit is contained in:
111
src/tv.c
111
src/tv.c
@@ -373,21 +373,21 @@ static const u8 *const sTV3CheersForPokeblocksTextGroup[] = {
|
||||
};
|
||||
|
||||
static const u8 *const sTVBravoTrainerBattleTowerTextGroup[] = {
|
||||
gTVBravoTrainerBattleTowerText00,
|
||||
gTVBravoTrainerBattleTowerText01,
|
||||
gTVBravoTrainerBattleTowerText02,
|
||||
gTVBravoTrainerBattleTowerText03,
|
||||
gTVBravoTrainerBattleTowerText04,
|
||||
gTVBravoTrainerBattleTowerText05,
|
||||
gTVBravoTrainerBattleTowerText06,
|
||||
gTVBravoTrainerBattleTowerText07,
|
||||
gTVBravoTrainerBattleTowerText08,
|
||||
gTVBravoTrainerBattleTowerText09,
|
||||
gTVBravoTrainerBattleTowerText10,
|
||||
gTVBravoTrainerBattleTowerText11,
|
||||
gTVBravoTrainerBattleTowerText12,
|
||||
gTVBravoTrainerBattleTowerText13,
|
||||
gTVBravoTrainerBattleTowerText14
|
||||
[BRAVOTOWER_STATE_INTRO] = BravoTrainerBattleTower_Text_Intro,
|
||||
[BRAVOTOWER_STATE_NEW_RECORD] = BravoTrainerBattleTower_Text_NewRecord,
|
||||
[BRAVOTOWER_STATE_LOST] = BravoTrainerBattleTower_Text_Lost,
|
||||
[BRAVOTOWER_STATE_WON] = BravoTrainerBattleTower_Text_Won,
|
||||
[BRAVOTOWER_STATE_LOST_FINAL] = BravoTrainerBattleTower_Text_LostFinal,
|
||||
[BRAVOTOWER_STATE_SATISFIED] = BravoTrainerBattleTower_Text_Satisfied,
|
||||
[BRAVOTOWER_STATE_UNSATISFIED] = BravoTrainerBattleTower_Text_Unsatisfied,
|
||||
[BRAVOTOWER_STATE_UNUSED_1] = BravoTrainerBattleTower_Text_None1,
|
||||
[BRAVOTOWER_STATE_UNUSED_2] = BravoTrainerBattleTower_Text_None2,
|
||||
[BRAVOTOWER_STATE_UNUSED_3] = BravoTrainerBattleTower_Text_None3,
|
||||
[BRAVOTOWER_STATE_UNUSED_4] = BravoTrainerBattleTower_Text_None4,
|
||||
[BRAVOTOWER_STATE_RESPONSE] = BravoTrainerBattleTower_Text_Response,
|
||||
[BRAVOTOWER_STATE_RESPONSE_SATISFIED] = BravoTrainerBattleTower_Text_ResponseSatisfied,
|
||||
[BRAVOTOWER_STATE_RESPONSE_UNSATISFIED] = BravoTrainerBattleTower_Text_ResponseUnsatisfied,
|
||||
[BRAVOTOWER_STATE_OUTRO] = BravoTrainerBattleTower_Text_Outro
|
||||
};
|
||||
|
||||
static const u8 *const sTVContestLiveUpdatesTextGroup[] = {
|
||||
@@ -1490,9 +1490,9 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void)
|
||||
show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.towerLvlMode, 0);
|
||||
show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.towerBattleOutcome;
|
||||
if (gSaveBlock2Ptr->frontier.towerLvlMode == FRONTIER_LVL_50)
|
||||
show->bravoTrainerTower.btLevel = 50;
|
||||
show->bravoTrainerTower.btLevel = FRONTIER_MAX_LEVEL_50;
|
||||
else
|
||||
show->bravoTrainerTower.btLevel = 100;
|
||||
show->bravoTrainerTower.btLevel = FRONTIER_MAX_LEVEL_OPEN;
|
||||
show->bravoTrainerTower.interviewResponse = gSpecialVar_0x8004;
|
||||
StorePlayerIdInNormalShow(show);
|
||||
show->bravoTrainerTower.language = gGameLanguage;
|
||||
@@ -4371,6 +4371,9 @@ static void DoTVShowBravoTrainerPokemonProfile(void)
|
||||
ShowFieldMessage(sTVBravoTrainerTextGroup[state]);
|
||||
}
|
||||
|
||||
// This is the TV show triggered by accepting the reporter's interview in the lobby of Battle Tower.
|
||||
// The reporter had asked the player if they were satisfied or not with the challenge, and then asked
|
||||
// for a one word Easy Chat description of their feelings about the challenge.
|
||||
static void DoTVShowBravoTrainerBattleTower(void)
|
||||
{
|
||||
TVShow *show;
|
||||
@@ -4381,85 +4384,83 @@ static void DoTVShowBravoTrainerBattleTower(void)
|
||||
state = sTVShowState;
|
||||
switch(state)
|
||||
{
|
||||
case 0:
|
||||
case BRAVOTOWER_STATE_INTRO:
|
||||
TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language);
|
||||
StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.species]);
|
||||
if (show->bravoTrainerTower.numFights >= 7)
|
||||
sTVShowState = 1;
|
||||
if (show->bravoTrainerTower.numFights >= FRONTIER_STAGES_PER_CHALLENGE)
|
||||
sTVShowState = BRAVOTOWER_STATE_NEW_RECORD;
|
||||
else
|
||||
sTVShowState = 2;
|
||||
sTVShowState = BRAVOTOWER_STATE_LOST;
|
||||
break;
|
||||
case 1:
|
||||
if (show->bravoTrainerTower.btLevel == 50)
|
||||
{
|
||||
case BRAVOTOWER_STATE_NEW_RECORD:
|
||||
// The TV show states a "new record" was achieved as long as all the battles in the challenge were attempted,
|
||||
// regardless of any previous records or whether the final battle was won or lost.
|
||||
if (show->bravoTrainerTower.btLevel == FRONTIER_MAX_LEVEL_50)
|
||||
StringCopy(gStringVar1, gText_Lv50);
|
||||
}
|
||||
else
|
||||
{
|
||||
StringCopy(gStringVar1, gText_OpenLevel);
|
||||
}
|
||||
ConvertIntToDecimalString(1, show->bravoTrainerTower.numFights);
|
||||
if (show->bravoTrainerTower.wonTheChallenge == TRUE)
|
||||
sTVShowState = 3;
|
||||
sTVShowState = BRAVOTOWER_STATE_WON;
|
||||
else
|
||||
sTVShowState = 4;
|
||||
sTVShowState = BRAVOTOWER_STATE_LOST_FINAL;
|
||||
break;
|
||||
case 2:
|
||||
case BRAVOTOWER_STATE_LOST:
|
||||
TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage);
|
||||
ConvertIntToDecimalString(1, show->bravoTrainerTower.numFights + 1);
|
||||
if (show->bravoTrainerTower.interviewResponse == 0)
|
||||
sTVShowState = 5;
|
||||
sTVShowState = BRAVOTOWER_STATE_SATISFIED;
|
||||
else
|
||||
sTVShowState = 6;
|
||||
sTVShowState = BRAVOTOWER_STATE_UNSATISFIED;
|
||||
break;
|
||||
case 3:
|
||||
case BRAVOTOWER_STATE_WON:
|
||||
TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage);
|
||||
StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.defeatedSpecies]);
|
||||
if (show->bravoTrainerTower.interviewResponse == 0)
|
||||
sTVShowState = 5;
|
||||
sTVShowState = BRAVOTOWER_STATE_SATISFIED;
|
||||
else
|
||||
sTVShowState = 6;
|
||||
sTVShowState = BRAVOTOWER_STATE_UNSATISFIED;
|
||||
break;
|
||||
case 4:
|
||||
case BRAVOTOWER_STATE_LOST_FINAL:
|
||||
TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage);
|
||||
StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.defeatedSpecies]);
|
||||
if (show->bravoTrainerTower.interviewResponse == 0)
|
||||
sTVShowState = 5;
|
||||
sTVShowState = BRAVOTOWER_STATE_SATISFIED;
|
||||
else
|
||||
sTVShowState = 6;
|
||||
sTVShowState = BRAVOTOWER_STATE_UNSATISFIED;
|
||||
break;
|
||||
case 5:
|
||||
case BRAVOTOWER_STATE_SATISFIED:
|
||||
TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage);
|
||||
sTVShowState = 11;
|
||||
sTVShowState = BRAVOTOWER_STATE_RESPONSE;
|
||||
break;
|
||||
case 6:
|
||||
case BRAVOTOWER_STATE_UNSATISFIED:
|
||||
TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage);
|
||||
sTVShowState = 11;
|
||||
sTVShowState = BRAVOTOWER_STATE_RESPONSE;
|
||||
break;
|
||||
case 7:
|
||||
sTVShowState = 11;
|
||||
case BRAVOTOWER_STATE_UNUSED_1:
|
||||
sTVShowState = BRAVOTOWER_STATE_RESPONSE;
|
||||
break;
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
case BRAVOTOWER_STATE_UNUSED_2:
|
||||
case BRAVOTOWER_STATE_UNUSED_3:
|
||||
case BRAVOTOWER_STATE_UNUSED_4:
|
||||
TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language);
|
||||
sTVShowState = 11;
|
||||
sTVShowState = BRAVOTOWER_STATE_RESPONSE;
|
||||
break;
|
||||
case 11:
|
||||
case BRAVOTOWER_STATE_RESPONSE:
|
||||
CopyEasyChatWord(gStringVar1, show->bravoTrainerTower.words[0]);
|
||||
if (show->bravoTrainerTower.interviewResponse == 0)
|
||||
sTVShowState = 12;
|
||||
sTVShowState = BRAVOTOWER_STATE_RESPONSE_SATISFIED;
|
||||
else
|
||||
sTVShowState = 13;
|
||||
sTVShowState = BRAVOTOWER_STATE_RESPONSE_UNSATISFIED;
|
||||
break;
|
||||
case 12:
|
||||
case 13:
|
||||
case BRAVOTOWER_STATE_RESPONSE_SATISFIED:
|
||||
case BRAVOTOWER_STATE_RESPONSE_UNSATISFIED:
|
||||
CopyEasyChatWord(gStringVar1, show->bravoTrainerTower.words[0]);
|
||||
TVShowConvertInternationalString(gStringVar2, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language);
|
||||
TVShowConvertInternationalString(gStringVar3, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage);
|
||||
sTVShowState = 14;
|
||||
sTVShowState = BRAVOTOWER_STATE_OUTRO;
|
||||
break;
|
||||
case 14:
|
||||
case BRAVOTOWER_STATE_OUTRO:
|
||||
TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language);
|
||||
StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.species]);
|
||||
TVShowDone();
|
||||
|
||||
Reference in New Issue
Block a user