Clean up contest doc

This commit is contained in:
GriffinR 2020-08-16 05:52:17 -04:00
parent e98e4652fd
commit 2749948eeb
6 changed files with 152 additions and 180 deletions

View File

@ -6,8 +6,6 @@
.section script_data, "aw", %progbits .section script_data, "aw", %progbits
@ TODO
enum_start enum_start
enum MON_1 enum MON_1
enum MON_2 enum MON_2
@ -52,7 +50,7 @@ gContestAIChecks:: @ 82DE350
@ Unreferenced AI routine to encourage moves that improve condition on the first @ Unreferenced AI routine to encourage moves that improve condition on the first
@ appeal. Additionally, it checks the turn order of the user and the effect @ appeal. Additionally, it checks the turn order of the user and the effect
@ type, but the code is buggy and doesnt affect the score. @ type, but the code is buggy and doesn't affect the score.
if_appeal_num_not_eq 0, ContestUnreferenced_80 if_appeal_num_not_eq 0, ContestUnreferenced_80
if_effect_not_eq CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, ContestUnreferenced_80 if_effect_not_eq CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, ContestUnreferenced_80
score +10 score +10
@ -67,7 +65,7 @@ ContestUnreferenced_0D:
ContestUnreferenced_end: ContestUnreferenced_end:
end end
@ Unreferenced AI routine that doesnt make much sense. @ Unreferenced AI routine that doesn't make much sense.
if_appeal_num_eq 0, ContestUnreferenced_0F_1 if_appeal_num_eq 0, ContestUnreferenced_0F_1
if_appeal_num_eq 1, ContestUnreferenced_0F_2 if_appeal_num_eq 1, ContestUnreferenced_0F_2
if_appeal_num_eq 2, ContestUnreferenced_0F_3 if_appeal_num_eq 2, ContestUnreferenced_0F_3

View File

@ -52,33 +52,6 @@
#define CONTEST_AI_CHECK_ORDER (1 << 4) #define CONTEST_AI_CHECK_ORDER (1 << 4)
#define CONTEST_AI_CHECK_GOOD_MOVE (1 << 5) #define CONTEST_AI_CHECK_GOOD_MOVE (1 << 5)
#define CONTEST_AI_ERRATIC (1 << 6) #define CONTEST_AI_ERRATIC (1 << 6)
#define CONTEST_AI_DUMMY_1 (1 << 7)
#define CONTEST_AI_DUMMY_2 (1 << 8)
#define CONTEST_AI_DUMMY_3 (1 << 9)
#define CONTEST_AI_DUMMY_4 (1 << 10)
#define CONTEST_AI_DUMMY_5 (1 << 11)
#define CONTEST_AI_DUMMY_6 (1 << 12)
#define CONTEST_AI_DUMMY_7 (1 << 13)
#define CONTEST_AI_DUMMY_8 (1 << 14)
#define CONTEST_AI_DUMMY_9 (1 << 15)
#define CONTEST_AI_DUMMY_10 (1 << 16)
#define CONTEST_AI_DUMMY_11 (1 << 17)
#define CONTEST_AI_DUMMY_12 (1 << 18)
#define CONTEST_AI_DUMMY_13 (1 << 19)
#define CONTEST_AI_DUMMY_14 (1 << 20)
#define CONTEST_AI_DUMMY_15 (1 << 21)
#define CONTEST_AI_DUMMY_16 (1 << 22)
#define CONTEST_AI_DUMMY_17 (1 << 23)
#define CONTEST_AI_DUMMY_18 (1 << 24)
#define CONTEST_AI_DUMMY_19 (1 << 25)
#define CONTEST_AI_DUMMY_20 (1 << 26)
#define CONTEST_AI_DUMMY_21 (1 << 27)
#define CONTEST_AI_DUMMY_22 (1 << 28)
#define CONTEST_AI_DUMMY_23 (1 << 29)
#define CONTEST_AI_DUMMY_24 (1 << 30)
#define CONTEST_AI_DUMMY_25 (1 << 31)
#define CONTEST_AI_ALL (CONTEST_AI_CHECK_BAD_MOVE | CONTEST_AI_CHECK_COMBO | CONTEST_AI_CHECK_BORING | CONTEST_AI_CHECK_EXCITEMENT | CONTEST_AI_CHECK_ORDER | CONTEST_AI_CHECK_GOOD_MOVE | CONTEST_AI_ERRATIC)
#define CONTEST_AI_DUMMIES_1 (CONTEST_AI_DUMMY_1 | CONTEST_AI_DUMMY_2 | CONTEST_AI_DUMMY_3 | CONTEST_AI_DUMMY_4 | CONTEST_AI_DUMMY_5)
#define CONTEST_EFFECT_HIGHLY_APPEALING 0 #define CONTEST_EFFECT_HIGHLY_APPEALING 0
#define CONTEST_EFFECT_USER_MORE_EASILY_STARTLED 1 #define CONTEST_EFFECT_USER_MORE_EASILY_STARTLED 1

View File

@ -127,11 +127,11 @@ struct Contest
{ {
u8 playerMoveChoice; u8 playerMoveChoice;
u8 appealNumber; u8 appealNumber;
u8 unused2[CONTESTANT_COUNT]; u8 unk[CONTESTANT_COUNT]; // never read
bool16 unk1920A_0:1; // Task active flags? bool16 unused1:1;
bool16 unk1920A_1:1; bool16 unused2:1;
bool16 unk1920A_2:1; bool16 unused3:1;
bool16 unk1920A_3:1; bool16 unused4:1;
bool16 waitForJudgeSpeechBubble:1; bool16 waitForJudgeSpeechBubble:1;
bool16 isShowingApplauseMeter:1; bool16 isShowingApplauseMeter:1;
bool16 applauseMeterIsMoving:1; bool16 applauseMeterIsMoving:1;
@ -140,10 +140,10 @@ struct Contest
bool16 sliderHeartsAnimating:1; // When the slider heart is appearing/disappearing bool16 sliderHeartsAnimating:1; // When the slider heart is appearing/disappearing
bool16 waitForLink:1; bool16 waitForLink:1;
u8 mainTaskId; u8 mainTaskId;
u8 unk1920D[4]; u8 filler1[4];
u8 judgeAttentionTaskId; u8 judgeAttentionTaskId;
u8 blendTaskId; u8 blendTaskId;
u8 filler19213; u8 filler2;
u8 turnNumber; u8 turnNumber;
u8 currentContestant; u8 currentContestant;
u8 judgeSpeechBubbleSpriteId; u8 judgeSpeechBubbleSpriteId;
@ -159,8 +159,8 @@ struct Contest
struct ContestantStatus struct ContestantStatus
{ {
s16 appeal1; // move appeal? s16 baseAppeal;
s16 appeal2; // final appeal after end of turn, maybe? s16 appeal;
s16 pointTotal; s16 pointTotal;
u16 currMove; u16 currMove;
u16 prevMove; u16 prevMove;
@ -264,8 +264,8 @@ struct ContestTV
s16 move; s16 move;
u8 winnerFlags; u8 winnerFlags;
u8 loserFlags; u8 loserFlags;
u8 madeAppeal:1; bool8 madeAppeal:1;
u8 madeExcitingAppeal:1; bool8 madeExcitingAppeal:1;
}; };
struct ContestUnused struct ContestUnused

View File

@ -79,7 +79,7 @@ static void Task_ReadyUpdateHeartSliders(u8);
static void Task_UpdateHeartSliders(u8); static void Task_UpdateHeartSliders(u8);
static void Task_WaitForHeartSliders(u8); static void Task_WaitForHeartSliders(u8);
static void sub_80DA348(u8); static void sub_80DA348(u8);
static void sub_80DA38C(u8); static void Task_WaitPrintRoundResult(u8);
static void Task_PrintRoundResultText(u8); static void Task_PrintRoundResultText(u8);
static void Task_ReUpdateHeartSliders(u8); static void Task_ReUpdateHeartSliders(u8);
static void Task_WaitForHeartSlidersAgain(u8); static void Task_WaitForHeartSlidersAgain(u8);
@ -267,6 +267,70 @@ enum {
SLIDER_HEART_ANIM_APPEAR, SLIDER_HEART_ANIM_APPEAR,
}; };
// States for Task_DoAppeals
enum {
APPEALSTATE_START_TURN,
APPEALSTATE_WAIT_LINK,
APPEALSTATE_CHECK_SKIP_TURN,
APPEALSTATE_SLIDE_MON_IN,
APPEALSTATE_WAIT_SLIDE_MON,
APPEALSTATE_PRINT_USED_MOVE_MSG,
APPEALSTATE_WAIT_USED_MOVE_MSG,
APPEALSTATE_MOVE_ANIM,
APPEALSTATE_WAIT_MOVE_ANIM,
APPEALSTATE_MOVE_ANIM_MULTITURN,
APPEALSTATE_SLIDE_MON_OUT,
APPEALSTATE_FREE_MON_SPRITE,
APPEALSTATE_UPDATE_MOVE_USERS_HEARTS,
APPEALSTATE_WAIT_MOVE_USERS_HEARTS,
APPEALSTATE_PRINT_COMBO_MSG,
APPEALSTATE_TRY_UPDATE_HEARTS_FROM_COMBO,
APPEALSTATE_WAIT_HEARTS_FROM_COMBO,
APPEALSTATE_CHECK_REPEATED_MOVE,
APPEALSTATE_WAIT_HEARTS_FROM_REPEAT,
APPEALSTATE_UPDATE_HEARTS_FROM_REPEAT,
APPEALSTATE_START_TURN_END_DELAY,
APPEALSTATE_TURN_END_DELAY,
APPEALSTATE_START_NEXT_TURN,
APPEALSTATE_TRY_PRINT_MOVE_RESULT,
APPEALSTATE_WAIT_MOVE_RESULT_MSG,
APPEALSTATE_UPDATE_OPPONENTS,
APPEALSTATE_UPDATE_OPPONENT,
APPEALSTATE_WAIT_OPPONENT_RESPONSE_MSG,
APPEALSTATE_UPDATE_OPPONENT_HEARTS,
APPEALSTATE_WAIT_OPPONENT_HEARTS,
APPEALSTATE_UPDATE_OPPONENT_STATUS,
APPEALSTATE_PRINT_SKIP_TURN_MSG,
APPEALSTATE_WAIT_SKIP_TURN_MSG,
APPEALSTATE_PRINT_TOO_NERVOUS_MSG,
APPEALSTATE_WAIT_TOO_NERVOUS_MSG,
APPEALSTATE_TRY_JUDGE_STAR,
APPEALSTATE_WAIT_JUDGE_STAR,
APPEALSTATE_UPDATE_MOVE_USERS_STARS,
APPEALSTATE_WAIT_MOVE_USERS_STARS,
APPEALSTATE_UPDATE_OPPONENT_STARS,
APPEALSTATE_WAIT_OPPONENT_STARS,
APPEALSTATE_UPDATE_CROWD,
APPEALSTATE_42, // Unused state
APPEALSTATE_WAIT_EXCITEMENT_HEARTS,
APPEALSTATE_44, // Unused state
APPEALSTATE_WAIT_JUDGE_COMBO,
APPEALSTATE_WAIT_JUDGE_REPEATED_MOVE,
APPEALSTATE_TRY_SHOW_NEXT_TURN_GFX,
APPEALSTATE_CHECK_TURN_ORDER_MOD,
APPEALSTATE_WAIT_JUDGE_TURN_ORDER,
APPEALSTATE_UPDATE_MOVE_USERS_STATUS,
APPEALSTATE_TRY_PRINT_SKIP_NEXT_TURN_MSG,
APPEALSTATE_WAIT_SKIP_NEXT_TURN_MSG,
APPEALSTATE_DO_CROWD_UNEXCITED,
APPEALSTATE_DO_CROWD_EXCITED,
APPEALSTATE_SLIDE_APPLAUSE_OUT,
APPEALSTATE_WAIT_SLIDE_APPLAUSE,
APPEALSTATE_PRINT_CROWD_WATCHES_MSG,
APPEALSTATE_PRINT_MON_MOVE_IGNORED_MSG,
APPEALSTATE_WAIT_MON_MOVE_IGNORED_MSG,
};
// EWRAM vars. // EWRAM vars.
EWRAM_DATA struct ContestPokemon gContestMons[CONTESTANT_COUNT] = {0}; EWRAM_DATA struct ContestPokemon gContestMons[CONTESTANT_COUNT] = {0};
EWRAM_DATA s16 gContestMonRound1Points[CONTESTANT_COUNT] = {0}; // "Round 1" points are based on condition EWRAM_DATA s16 gContestMonRound1Points[CONTESTANT_COUNT] = {0}; // "Round 1" points are based on condition
@ -1023,7 +1087,7 @@ static void InitContestResources(void)
eContest = (struct Contest){}; eContest = (struct Contest){};
for (i = 0; i < CONTESTANT_COUNT; i++) for (i = 0; i < CONTESTANT_COUNT; i++)
{ {
eContest.unused2[i] = 0xFF; eContest.unk[i] = 0xFF;
} }
for (i = 0; i < CONTESTANT_COUNT; i++) for (i = 0; i < CONTESTANT_COUNT; i++)
{ {
@ -1163,7 +1227,7 @@ static void Task_StartContestWaitFade(u8 taskId)
} }
} }
// If this is a link contest try to start communication // If this is a link contest try to start appeals communication
// Otherwise skip ahead // Otherwise skip ahead
static void Task_TryStartLinkContest(u8 taskId) static void Task_TryStartLinkContest(u8 taskId)
{ {
@ -1634,69 +1698,6 @@ static void Task_WaitHideApplauseMeterForAppealStart(u8 taskId)
gTasks[taskId].func = Task_AppealSetup; gTasks[taskId].func = Task_AppealSetup;
} }
enum {
APPEALSTATE_START_TURN,
APPEALSTATE_1,
APPEALSTATE_2,
APPEALSTATE_SLIDE_MON_IN,
APPEALSTATE_WAIT_SLIDE_MON,
APPEALSTATE_PRINT_USED_MOVE_MSG,
APPEALSTATE_WAIT_USED_MOVE_MSG,
APPEALSTATE_MOVE_ANIM,
APPEALSTATE_WAIT_MOVE_ANIM,
APPEALSTATE_MOVE_ANIM_MULTITURN,
APPEALSTATE_SLIDE_MON_OUT,
APPEALSTATE_FREE_MON_SPRITE,
APPEALSTATE_UPDATE_MOVE_USERS_HEARTS,
APPEALSTATE_WAIT_MOVE_USERS_HEARTS,
APPEALSTATE_PRINT_COMBO_MSG,
APPEALSTATE_TRY_UPDATE_HEARTS_FROM_COMBO,
APPEALSTATE_WAIT_HEARTS_FROM_COMBO,
APPEALSTATE_CHECK_REPEATED_MOVE,
APPEALSTATE_WAIT_HEARTS_FROM_REPEAT,
APPEALSTATE_UPDATE_HEARTS_FROM_REPEAT,
APPEALSTATE_START_TURN_END_DELAY,
APPEALSTATE_TURN_END_DELAY,
APPEALSTATE_START_NEXT_TURN,
APPEALSTATE_TRY_PRINT_MOVE_RESULT,
APPEALSTATE_WAIT_MOVE_RESULT_MSG,
APPEALSTATE_UPDATE_OPPONENTS,
APPEALSTATE_UPDATE_OPPONENT,
APPEALSTATE_WAIT_OPPONENT_RESPONSE_MSG,
APPEALSTATE_UPDATE_OPPONENT_HEARTS,
APPEALSTATE_WAIT_OPPONENT_HEARTS,
APPEALSTATE_UPDATE_OPPONENT_STATUS,
APPEALSTATE_PRINT_SKIP_TURN_MSG,
APPEALSTATE_WAIT_SKIP_TURN_MSG,
APPEALSTATE_PRINT_TOO_NERVOUS_MSG,
APPEALSTATE_WAIT_TOO_NERVOUS_MSG,
APPEALSTATE_TRY_JUDGE_STAR,
APPEALSTATE_WAIT_JUDGE_STAR,
APPEALSTATE_UPDATE_MOVE_USERS_STARS,
APPEALSTATE_WAIT_MOVE_USERS_STARS,
APPEALSTATE_UPDATE_OPPONENT_STARS,
APPEALSTATE_WAIT_OPPONENT_STARS,
APPEALSTATE_UPDATE_CROWD,
APPEALSTATE_42, // Unused state
APPEALSTATE_WAIT_EXCITEMENT_HEARTS,
APPEALSTATE_44, // Unused state
APPEALSTATE_WAIT_JUDGE_COMBO,
APPEALSTATE_WAIT_JUDGE_REPEATED_MOVE,
APPEALSTATE_TRY_SHOW_NEXT_TURN_GFX,
APPEALSTATE_CHECK_TURN_ORDER_MOD,
APPEALSTATE_WAIT_JUDGE_TURN_ORDER,
APPEALSTATE_UPDATE_MOVE_USERS_STATUS,
APPEALSTATE_TRY_PRINT_SKIP_NEXT_TURN_MSG,
APPEALSTATE_WAIT_SKIP_NEXT_TURN_MSG,
APPEALSTATE_DO_CROWD_UNEXCITED,
APPEALSTATE_DO_CROWD_EXCITED,
APPEALSTATE_SLIDE_APPLAUSE_OUT,
APPEALSTATE_WAIT_SLIDE_APPLAUSE,
APPEALSTATE_PRINT_CROWD_WATCHES_MSG,
APPEALSTATE_PRINT_MON_MOVE_IGNORED_MSG,
APPEALSTATE_WAIT_MON_MOVE_IGNORED_MSG,
};
#define tState data[0] #define tState data[0]
#define tMonSpriteId data[2] #define tMonSpriteId data[2]
#define tCounter data[10] #define tCounter data[10]
@ -1746,19 +1747,19 @@ static void Task_DoAppeals(u8 taskId)
taskId2 = CreateTask(Task_LinkContest_CommunicateAppealsState, 0); taskId2 = CreateTask(Task_LinkContest_CommunicateAppealsState, 0);
SetTaskFuncWithFollowupFunc(taskId2, Task_LinkContest_CommunicateAppealsState, Task_EndWaitForLink); SetTaskFuncWithFollowupFunc(taskId2, Task_LinkContest_CommunicateAppealsState, Task_EndWaitForLink);
ContestPrintLinkStandby(); ContestPrintLinkStandby();
gTasks[taskId].tState = APPEALSTATE_1; gTasks[taskId].tState = APPEALSTATE_WAIT_LINK;
} }
else else
{ {
CalculateAppealMoveImpact(eContest.currentContestant); CalculateAppealMoveImpact(eContest.currentContestant);
gTasks[taskId].tState = APPEALSTATE_2; gTasks[taskId].tState = APPEALSTATE_CHECK_SKIP_TURN;
} }
return; return;
case APPEALSTATE_1: case APPEALSTATE_WAIT_LINK:
if (!eContest.waitForLink) if (!eContest.waitForLink)
gTasks[taskId].tState = APPEALSTATE_2; gTasks[taskId].tState = APPEALSTATE_CHECK_SKIP_TURN;
return; return;
case APPEALSTATE_2: case APPEALSTATE_CHECK_SKIP_TURN:
SetContestLiveUpdateFlags(contestant); SetContestLiveUpdateFlags(contestant);
ContestDebugPrintBitStrings(); ContestDebugPrintBitStrings();
if (eContestantStatus[contestant].numTurnsSkipped != 0 if (eContestantStatus[contestant].numTurnsSkipped != 0
@ -1927,7 +1928,7 @@ static void Task_DoAppeals(u8 taskId)
gTasks[taskId].tState = APPEALSTATE_UPDATE_MOVE_USERS_HEARTS; gTasks[taskId].tState = APPEALSTATE_UPDATE_MOVE_USERS_HEARTS;
return; return;
case APPEALSTATE_UPDATE_MOVE_USERS_HEARTS: case APPEALSTATE_UPDATE_MOVE_USERS_HEARTS:
UpdateAppealHearts(0, eContestantStatus[contestant].appeal2, contestant); UpdateAppealHearts(0, eContestantStatus[contestant].appeal, contestant);
gTasks[taskId].tState = APPEALSTATE_WAIT_MOVE_USERS_HEARTS; gTasks[taskId].tState = APPEALSTATE_WAIT_MOVE_USERS_HEARTS;
return; return;
case APPEALSTATE_WAIT_MOVE_USERS_HEARTS: case APPEALSTATE_WAIT_MOVE_USERS_HEARTS:
@ -2018,7 +2019,7 @@ static void Task_DoAppeals(u8 taskId)
case APPEALSTATE_UPDATE_OPPONENT_HEARTS: case APPEALSTATE_UPDATE_OPPONENT_HEARTS:
for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++) for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++)
; ;
UpdateAppealHearts(eContestantStatus[i].appeal2 + eContestantStatus[i].jam, -eContestantStatus[i].jam, i); UpdateAppealHearts(eContestantStatus[i].appeal + eContestantStatus[i].jam, -eContestantStatus[i].jam, i);
gTasks[taskId].tState = APPEALSTATE_WAIT_OPPONENT_HEARTS; gTasks[taskId].tState = APPEALSTATE_WAIT_OPPONENT_HEARTS;
return; return;
case APPEALSTATE_WAIT_OPPONENT_HEARTS: case APPEALSTATE_WAIT_OPPONENT_HEARTS:
@ -2139,10 +2140,10 @@ static void Task_DoAppeals(u8 taskId)
if (!eContestantStatus[contestant].hasJudgesAttention) if (!eContestantStatus[contestant].hasJudgesAttention)
{ {
UpdateAppealHearts( UpdateAppealHearts(
eContestantStatus[contestant].appeal2, eContestantStatus[contestant].appeal,
eContestantStatus[contestant].comboAppealBonus, eContestantStatus[contestant].comboAppealBonus,
contestant); contestant);
eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].comboAppealBonus; eContestantStatus[contestant].appeal += eContestantStatus[contestant].comboAppealBonus;
} }
gTasks[taskId].tState = APPEALSTATE_WAIT_HEARTS_FROM_COMBO; gTasks[taskId].tState = APPEALSTATE_WAIT_HEARTS_FROM_COMBO;
} }
@ -2178,8 +2179,8 @@ static void Task_DoAppeals(u8 taskId)
case APPEALSTATE_UPDATE_HEARTS_FROM_REPEAT: case APPEALSTATE_UPDATE_HEARTS_FROM_REPEAT:
if (!Contest_RunTextPrinters()) if (!Contest_RunTextPrinters())
{ {
UpdateAppealHearts(eContestantStatus[contestant].appeal2, -eContestantStatus[contestant].repeatJam, contestant); UpdateAppealHearts(eContestantStatus[contestant].appeal, -eContestantStatus[contestant].repeatJam, contestant);
eContestantStatus[contestant].appeal2 -= eContestantStatus[contestant].repeatJam; eContestantStatus[contestant].appeal -= eContestantStatus[contestant].repeatJam;
gTasks[taskId].tState = APPEALSTATE_WAIT_HEARTS_FROM_REPEAT; gTasks[taskId].tState = APPEALSTATE_WAIT_HEARTS_FROM_REPEAT;
} }
return; return;
@ -2301,8 +2302,8 @@ static void Task_DoAppeals(u8 taskId)
if (gTasks[taskId].data[11]++ > 29) if (gTasks[taskId].data[11]++ > 29)
{ {
gTasks[taskId].data[11] = 0; gTasks[taskId].data[11] = 0;
UpdateAppealHearts(eContestantStatus[contestant].appeal2, eContestExcitement.excitementAppealBonus, contestant); UpdateAppealHearts(eContestantStatus[contestant].appeal, eContestExcitement.excitementAppealBonus, contestant);
eContestantStatus[contestant].appeal2 += eContestExcitement.excitementAppealBonus; eContestantStatus[contestant].appeal += eContestExcitement.excitementAppealBonus;
gTasks[taskId].tCounter++; gTasks[taskId].tCounter++;
} }
} }
@ -2560,10 +2561,10 @@ static void sub_80DA348(u8 taskId)
DmaCopy32Defvars(3, eUnknownHeap1A004.unk18204, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * 2); DmaCopy32Defvars(3, eUnknownHeap1A004.unk18204, gPlttBufferUnfaded, PLTT_BUFFER_SIZE * 2);
gTasks[taskId].data[0] = 0; gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 2; gTasks[taskId].data[1] = 2;
gTasks[taskId].func = sub_80DA38C; gTasks[taskId].func = Task_WaitPrintRoundResult;
} }
static void sub_80DA38C(u8 taskId) static void Task_WaitPrintRoundResult(u8 taskId)
{ {
if (++gTasks[taskId].data[0] > 2) if (++gTasks[taskId].data[0] > 2)
{ {
@ -3416,7 +3417,7 @@ static void RankContestants(void)
for (i = 0; i < CONTESTANT_COUNT; i++) for (i = 0; i < CONTESTANT_COUNT; i++)
{ {
eContestantStatus[i].pointTotal += eContestantStatus[i].appeal2; eContestantStatus[i].pointTotal += eContestantStatus[i].appeal;
arr[i] = eContestantStatus[i].pointTotal; arr[i] = eContestantStatus[i].pointTotal;
} }
@ -3467,13 +3468,13 @@ static void SetAttentionLevels(void)
if (eContestantStatus[i].currMove == MOVE_NONE) if (eContestantStatus[i].currMove == MOVE_NONE)
attentionLevel = 5; attentionLevel = 5;
else if (eContestantStatus[i].appeal2 <= 0) else if (eContestantStatus[i].appeal <= 0)
attentionLevel = 0; attentionLevel = 0;
else if (eContestantStatus[i].appeal2 < 30) else if (eContestantStatus[i].appeal < 30)
attentionLevel = 1; attentionLevel = 1;
else if (eContestantStatus[i].appeal2 < 60) else if (eContestantStatus[i].appeal < 60)
attentionLevel = 2; attentionLevel = 2;
else if (eContestantStatus[i].appeal2 < 80) else if (eContestantStatus[i].appeal < 80)
attentionLevel = 3; attentionLevel = 3;
else else
attentionLevel = 4; attentionLevel = 4;
@ -3496,8 +3497,8 @@ static void ResetContestantStatuses(void)
for (i = 0; i < CONTESTANT_COUNT; i++) for (i = 0; i < CONTESTANT_COUNT; i++)
{ {
eContestantStatus[i].appeal2 = 0; eContestantStatus[i].appeal = 0;
eContestantStatus[i].appeal1 = 0; eContestantStatus[i].baseAppeal = 0;
eContestantStatus[i].jamSafetyCount = 0; eContestantStatus[i].jamSafetyCount = 0;
if (eContestantStatus[i].numTurnsSkipped > 0) if (eContestantStatus[i].numTurnsSkipped > 0)
eContestantStatus[i].numTurnsSkipped--; eContestantStatus[i].numTurnsSkipped--;
@ -4278,9 +4279,9 @@ static void ContestDebugDoPrint(void)
} }
for (i = 0; i < CONTESTANT_COUNT; i++) for (i = 0; i < CONTESTANT_COUNT; i++)
{ {
value = eContestantStatus[i].appeal2; value = eContestantStatus[i].appeal;
txtPtr = text; txtPtr = text;
if (eContestantStatus[i].appeal2 < 0) if (eContestantStatus[i].appeal < 0)
{ {
value *= -1; value *= -1;
txtPtr = StringCopy(txtPtr, gText_OneDash); txtPtr = StringCopy(txtPtr, gText_OneDash);
@ -4428,8 +4429,8 @@ static void CalculateAppealMoveImpact(u8 contestant)
bool8 canUseTurn; bool8 canUseTurn;
s32 i; s32 i;
eContestantStatus[contestant].appeal2 = 0; eContestantStatus[contestant].appeal = 0;
eContestantStatus[contestant].appeal1 = 0; eContestantStatus[contestant].baseAppeal = 0;
if (!ContestantCanUseTurn(contestant)) if (!ContestantCanUseTurn(contestant))
return; return;
@ -4446,8 +4447,8 @@ static void CalculateAppealMoveImpact(u8 contestant)
{ {
eContestantStatus[contestant].moveRepeatCount = 0; eContestantStatus[contestant].moveRepeatCount = 0;
} }
eContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal; eContestantStatus[contestant].baseAppeal = gContestEffects[effect].appeal;
eContestantStatus[contestant].appeal2 = eContestantStatus[contestant].appeal1; eContestantStatus[contestant].appeal = eContestantStatus[contestant].baseAppeal;
eContestAppealResults.jam = gContestEffects[effect].jam; eContestAppealResults.jam = gContestEffects[effect].jam;
eContestAppealResults.jam2 = eContestAppealResults.jam; eContestAppealResults.jam2 = eContestAppealResults.jam;
@ -4465,11 +4466,11 @@ static void CalculateAppealMoveImpact(u8 contestant)
gContestEffectFuncs[effect](); gContestEffectFuncs[effect]();
if (eContestantStatus[contestant].conditionMod == 1) if (eContestantStatus[contestant].conditionMod == 1)
eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition - 10; eContestantStatus[contestant].appeal += eContestantStatus[contestant].condition - 10;
else if (eContestantStatus[contestant].appealTripleCondition) else if (eContestantStatus[contestant].appealTripleCondition)
eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition * 3; eContestantStatus[contestant].appeal += eContestantStatus[contestant].condition * 3;
else else
eContestantStatus[contestant].appeal2 += eContestantStatus[contestant].condition; eContestantStatus[contestant].appeal += eContestantStatus[contestant].condition;
eContestantStatus[contestant].completedCombo = FALSE; eContestantStatus[contestant].completedCombo = FALSE;
eContestantStatus[contestant].usedComboMove = FALSE; eContestantStatus[contestant].usedComboMove = FALSE;
@ -4482,7 +4483,7 @@ static void CalculateAppealMoveImpact(u8 contestant)
eContestantStatus[contestant].completedCombo = completedCombo; eContestantStatus[contestant].completedCombo = completedCombo;
eContestantStatus[contestant].usedComboMove = TRUE; eContestantStatus[contestant].usedComboMove = TRUE;
eContestantStatus[contestant].hasJudgesAttention = FALSE; eContestantStatus[contestant].hasJudgesAttention = FALSE;
eContestantStatus[contestant].comboAppealBonus = eContestantStatus[contestant].appeal1 * eContestantStatus[contestant].completedCombo; eContestantStatus[contestant].comboAppealBonus = eContestantStatus[contestant].baseAppeal * eContestantStatus[contestant].completedCombo;
eContestantStatus[contestant].unk15_3 = TRUE; eContestantStatus[contestant].unk15_3 = TRUE;
} }
else else
@ -4504,8 +4505,8 @@ static void CalculateAppealMoveImpact(u8 contestant)
if (eContestantStatus[contestant].nervous) if (eContestantStatus[contestant].nervous)
{ {
eContestantStatus[contestant].hasJudgesAttention = FALSE; eContestantStatus[contestant].hasJudgesAttention = FALSE;
eContestantStatus[contestant].appeal2 = 0; eContestantStatus[contestant].appeal = 0;
eContestantStatus[contestant].appeal1 = 0; eContestantStatus[contestant].baseAppeal = 0;
} }
eContestExcitement.moveExcitement = Contest_GetMoveExcitement(eContestantStatus[contestant].currMove); eContestExcitement.moveExcitement = Contest_GetMoveExcitement(eContestantStatus[contestant].currMove);
if (eContestantStatus[contestant].overrideCategoryExcitementMod) if (eContestantStatus[contestant].overrideCategoryExcitementMod)

View File

@ -520,7 +520,7 @@ static void ContestEffect_BetterIfFirst(void)
if (gContestantTurnOrder[eContestAppealResults.contestant] == 0) if (gContestantTurnOrder[eContestAppealResults.contestant] == 0)
{ {
u16 move = eContestantStatus[eContestAppealResults.contestant].currMove; u16 move = eContestantStatus[eContestAppealResults.contestant].currMove;
eContestantStatus[eContestAppealResults.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; eContestantStatus[eContestAppealResults.contestant].appeal += 2 * gContestEffects[gContestMoves[move].effect].appeal;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_HUSTLE_STANDOUT); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_HUSTLE_STANDOUT);
} }
} }
@ -531,7 +531,7 @@ static void ContestEffect_BetterIfLast(void)
if (gContestantTurnOrder[eContestAppealResults.contestant] == 3) if (gContestantTurnOrder[eContestAppealResults.contestant] == 3)
{ {
u16 move = eContestantStatus[eContestAppealResults.contestant].currMove; u16 move = eContestantStatus[eContestAppealResults.contestant].currMove;
eContestantStatus[eContestAppealResults.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; eContestantStatus[eContestAppealResults.contestant].appeal += 2 * gContestEffects[gContestMoves[move].effect].appeal;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED);
} }
} }
@ -545,7 +545,7 @@ static void ContestEffect_AppealAsGoodAsPrevOnes(void)
for (i = 0, appealSum = 0; i < CONTESTANT_COUNT; i++) for (i = 0, appealSum = 0; i < CONTESTANT_COUNT; i++)
{ {
if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] > eContestAppealResults.turnOrder[i]) if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] > eContestAppealResults.turnOrder[i])
appealSum += eContestantStatus[i].appeal2; appealSum += eContestantStatus[i].appeal;
} }
if (appealSum < 0) if (appealSum < 0)
appealSum = 0; appealSum = 0;
@ -556,10 +556,10 @@ static void ContestEffect_AppealAsGoodAsPrevOnes(void)
} }
else else
{ {
eContestantStatus[eContestAppealResults.contestant].appeal2 += appealSum / 2; eContestantStatus[eContestAppealResults.contestant].appeal += appealSum / 2;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_WORK_BEFORE); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_WORK_BEFORE);
} }
eContestantStatus[eContestAppealResults.contestant].appeal2 = RoundTowardsZero(eContestantStatus[eContestAppealResults.contestant].appeal2); eContestantStatus[eContestAppealResults.contestant].appeal = RoundTowardsZero(eContestantStatus[eContestAppealResults.contestant].appeal);
} }
// Makes the appeal as good as the one before it. // Makes the appeal as good as the one before it.
@ -573,7 +573,7 @@ static void ContestEffect_AppealAsGoodAsPrevOne(void)
for (i = 0; i < CONTESTANT_COUNT; i++) for (i = 0; i < CONTESTANT_COUNT; i++)
{ {
if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] - 1 == eContestAppealResults.turnOrder[i]) if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] - 1 == eContestAppealResults.turnOrder[i])
appeal = eContestantStatus[i].appeal2; appeal = eContestantStatus[i].appeal;
} }
} }
if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] == 0 || appeal <= 0) if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] == 0 || appeal <= 0)
@ -582,7 +582,7 @@ static void ContestEffect_AppealAsGoodAsPrevOne(void)
} }
else else
{ {
eContestantStatus[eContestAppealResults.contestant].appeal2 += appeal; eContestantStatus[eContestAppealResults.contestant].appeal += appeal;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_WORK_PRECEDING); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_WORK_PRECEDING);
} }
} }
@ -592,9 +592,9 @@ static void ContestEffect_BetterWhenLater(void)
{ {
u8 whichTurn = eContestAppealResults.turnOrder[eContestAppealResults.contestant]; u8 whichTurn = eContestAppealResults.turnOrder[eContestAppealResults.contestant];
if (whichTurn == 0) if (whichTurn == 0)
eContestantStatus[eContestAppealResults.contestant].appeal2 = 10; eContestantStatus[eContestAppealResults.contestant].appeal = 10;
else else
eContestantStatus[eContestAppealResults.contestant].appeal2 = 20 * whichTurn; eContestantStatus[eContestAppealResults.contestant].appeal = 20 * whichTurn;
if (whichTurn == 0) if (whichTurn == 0)
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL);
else if (whichTurn == 1) else if (whichTurn == 1)
@ -633,7 +633,7 @@ static void ContestEffect_QualityDependsOnTiming(void)
appeal = 80; appeal = 80;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2);
} }
eContestantStatus[eContestAppealResults.contestant].appeal2 = appeal; eContestantStatus[eContestAppealResults.contestant].appeal = appeal;
} }
static void ContestEffect_BetterIfSameType(void) static void ContestEffect_BetterIfSameType(void)
@ -666,7 +666,7 @@ static void ContestEffect_BetterIfSameType(void)
move = eContestantStatus[eContestAppealResults.contestant].currMove; move = eContestantStatus[eContestAppealResults.contestant].currMove;
if (gContestMoves[move].contestCategory == gContestMoves[eContestantStatus[j].currMove].contestCategory) if (gContestMoves[move].contestCategory == gContestMoves[eContestantStatus[j].currMove].contestCategory)
{ {
eContestantStatus[eContestAppealResults.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; eContestantStatus[eContestAppealResults.contestant].appeal += gContestEffects[gContestMoves[move].effect].appeal * 2;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_SAME_TYPE_GOOD); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_SAME_TYPE_GOOD);
} }
} }
@ -684,7 +684,7 @@ static void ContestEffect_BetterIfDiffType(void)
if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] - 1 == eContestAppealResults.turnOrder[i] && if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] - 1 == eContestAppealResults.turnOrder[i] &&
gContestMoves[move].contestCategory != gContestMoves[eContestantStatus[i].currMove].contestCategory) gContestMoves[move].contestCategory != gContestMoves[eContestantStatus[i].currMove].contestCategory)
{ {
eContestantStatus[eContestAppealResults.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; eContestantStatus[eContestAppealResults.contestant].appeal += gContestEffects[gContestMoves[move].effect].appeal * 2;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_DIFF_TYPE_GOOD);
break; break;
} }
@ -703,14 +703,14 @@ static void ContestEffect_AffectedByPrevAppeal(void)
{ {
if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] - 1 == eContestAppealResults.turnOrder[i]) if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] - 1 == eContestAppealResults.turnOrder[i])
{ {
if (eContestantStatus[eContestAppealResults.contestant].appeal2 > eContestantStatus[i].appeal2) if (eContestantStatus[eContestAppealResults.contestant].appeal > eContestantStatus[i].appeal)
{ {
eContestantStatus[eContestAppealResults.contestant].appeal2 *= 2; eContestantStatus[eContestAppealResults.contestant].appeal *= 2;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH);
} }
else if (eContestantStatus[eContestAppealResults.contestant].appeal2 < eContestantStatus[i].appeal2) else if (eContestantStatus[eContestAppealResults.contestant].appeal < eContestantStatus[i].appeal)
{ {
eContestantStatus[eContestAppealResults.contestant].appeal2 = 0; eContestantStatus[eContestAppealResults.contestant].appeal = 0;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_NOT_AS_WELL); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_NOT_AS_WELL);
} }
} }
@ -898,9 +898,9 @@ static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void)
{ {
if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] > eContestAppealResults.turnOrder[i]) if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] > eContestAppealResults.turnOrder[i])
{ {
if (eContestantStatus[i].appeal2 > 0) if (eContestantStatus[i].appeal > 0)
{ {
eContestAppealResults.jam = eContestantStatus[i].appeal2 / 2; eContestAppealResults.jam = eContestantStatus[i].appeal / 2;
eContestAppealResults.jam = RoundUp(eContestAppealResults.jam); eContestAppealResults.jam = RoundUp(eContestAppealResults.jam);
} }
else else
@ -946,7 +946,7 @@ static void ContestEffect_BetterWhenAudienceExcited(void)
appeal = 60; appeal = 60;
SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); SetContestantEffectStringID(eContestAppealResults.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2);
} }
eContestantStatus[eContestAppealResults.contestant].appeal2 = appeal; eContestantStatus[eContestAppealResults.contestant].appeal = appeal;
} }
// Temporarily stops the crowd from growing excited. // Temporarily stops the crowd from growing excited.
@ -1054,7 +1054,7 @@ static bool8 WasAtLeastOneOpponentJammed(void)
static void JamContestant(u8 i, u8 jam) static void JamContestant(u8 i, u8 jam)
{ {
eContestantStatus[i].appeal2 -= jam; eContestantStatus[i].appeal -= jam;
eContestantStatus[i].jam += jam; eContestantStatus[i].jam += jam;
} }

View File

@ -183,7 +183,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("POOCHY"), .nickname = _("POOCHY"),
.trainerName = _("JIMMY"), .trainerName = _("JIMMY"),
.trainerGfxId = OBJ_EVENT_GFX_BOY_1, .trainerGfxId = OBJ_EVENT_GFX_BOY_1,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_20 | CONTEST_AI_DUMMY_21, .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_NORMAL, .whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -211,7 +211,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("MUSILLE"), .nickname = _("MUSILLE"),
.trainerName = _("EDITH"), .trainerName = _("EDITH"),
.trainerGfxId = OBJ_EVENT_GFX_GIRL_1, .trainerGfxId = OBJ_EVENT_GFX_GIRL_1,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25, .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_NORMAL, .whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE, .aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -239,7 +239,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DUSTER"), .nickname = _("DUSTER"),
.trainerName = _("EVAN"), .trainerName = _("EVAN"),
.trainerGfxId = OBJ_EVENT_GFX_LITTLE_BOY, .trainerGfxId = OBJ_EVENT_GFX_LITTLE_BOY,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23, .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_NORMAL, .whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE, .aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE, .aiPool_Beauty = TRUE,
@ -603,7 +603,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BULBY"), .nickname = _("BULBY"),
.trainerName = _("AGATHA"), .trainerName = _("AGATHA"),
.trainerGfxId = OBJ_EVENT_GFX_WOMAN_2, .trainerGfxId = OBJ_EVENT_GFX_WOMAN_2,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMY_1 | CONTEST_AI_DUMMY_2 | CONTEST_AI_DUMMY_3 | CONTEST_AI_DUMMY_4 | CONTEST_AI_DUMMY_5 | CONTEST_AI_DUMMY_20 | CONTEST_AI_DUMMY_21, .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_NORMAL, .whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE, .aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -631,7 +631,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("FUTTERBE"), .nickname = _("FUTTERBE"),
.trainerName = _("BEAU"), .trainerName = _("BEAU"),
.trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC, .trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25, .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_NORMAL, .whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE, .aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE, .aiPool_Beauty = TRUE,
@ -659,7 +659,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("PIDEOT"), .nickname = _("PIDEOT"),
.trainerName = _("KAY"), .trainerName = _("KAY"),
.trainerGfxId = OBJ_EVENT_GFX_WOMAN_5, .trainerGfxId = OBJ_EVENT_GFX_WOMAN_5,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23, .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_NORMAL, .whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE, .aiPool_Beauty = TRUE,
@ -883,7 +883,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DUODO"), .nickname = _("DUODO"),
.trainerName = _("BOBBY"), .trainerName = _("BOBBY"),
.trainerGfxId = OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M, .trainerGfxId = OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25, .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_SUPER, .whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE, .aiPool_Beauty = TRUE,
@ -1275,7 +1275,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BROWLO"), .nickname = _("BROWLO"),
.trainerName = _("LUKE"), .trainerName = _("LUKE"),
.trainerGfxId = OBJ_EVENT_GFX_FAT_MAN, .trainerGfxId = OBJ_EVENT_GFX_FAT_MAN,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMY_1 | CONTEST_AI_DUMMY_2 | CONTEST_AI_DUMMY_3 | CONTEST_AI_DUMMY_4 | CONTEST_AI_DUMMY_5 | CONTEST_AI_DUMMY_20 | CONTEST_AI_DUMMY_21, .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_SUPER, .whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE, .aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -1303,7 +1303,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("FETCHIN"), .nickname = _("FETCHIN"),
.trainerName = _("RAUL"), .trainerName = _("RAUL"),
.trainerGfxId = OBJ_EVENT_GFX_MAN_5, .trainerGfxId = OBJ_EVENT_GFX_MAN_5,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25, .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_SUPER, .whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -1331,7 +1331,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SEELEY"), .nickname = _("SEELEY"),
.trainerName = _("JADA"), .trainerName = _("JADA"),
.trainerGfxId = OBJ_EVENT_GFX_WOMAN_2, .trainerGfxId = OBJ_EVENT_GFX_WOMAN_2,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23, .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_SUPER, .whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE, .aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE, .aiPool_Beauty = TRUE,
@ -1555,7 +1555,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SHIFTY"), .nickname = _("SHIFTY"),
.trainerName = _("CLAUDIA"), .trainerName = _("CLAUDIA"),
.trainerGfxId = OBJ_EVENT_GFX_GIRL_1, .trainerGfxId = OBJ_EVENT_GFX_GIRL_1,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25, .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_HYPER, .whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE, .aiPool_Beauty = TRUE,
@ -1947,7 +1947,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("EGGSOR"), .nickname = _("EGGSOR"),
.trainerName = _("GRACIE"), .trainerName = _("GRACIE"),
.trainerGfxId = OBJ_EVENT_GFX_PICNICKER, .trainerGfxId = OBJ_EVENT_GFX_PICNICKER,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMY_1 | CONTEST_AI_DUMMY_2 | CONTEST_AI_DUMMY_3 | CONTEST_AI_DUMMY_4 | CONTEST_AI_DUMMY_5 | CONTEST_AI_DUMMY_20 | CONTEST_AI_DUMMY_21, .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_HYPER, .whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE, .aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -1975,7 +1975,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("CUBIN"), .nickname = _("CUBIN"),
.trainerName = _("COLTIN"), .trainerName = _("COLTIN"),
.trainerGfxId = OBJ_EVENT_GFX_MAN_4, .trainerGfxId = OBJ_EVENT_GFX_MAN_4,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25, .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_HYPER, .whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE, .aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -2003,7 +2003,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("HITMON"), .nickname = _("HITMON"),
.trainerName = _("ELLIE"), .trainerName = _("ELLIE"),
.trainerGfxId = OBJ_EVENT_GFX_EXPERT_F, .trainerGfxId = OBJ_EVENT_GFX_EXPERT_F,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23, .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_HYPER, .whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -2227,7 +2227,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("LOUDERD"), .nickname = _("LOUDERD"),
.trainerName = _("RALPH"), .trainerName = _("RALPH"),
.trainerGfxId = OBJ_EVENT_GFX_EXPERT_M, .trainerGfxId = OBJ_EVENT_GFX_EXPERT_M,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25, .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_MASTER, .whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -2619,7 +2619,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GAREN"), .nickname = _("GAREN"),
.trainerName = _("CAMILE"), .trainerName = _("CAMILE"),
.trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC, .trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMY_1 | CONTEST_AI_DUMMY_2 | CONTEST_AI_DUMMY_3 | CONTEST_AI_DUMMY_4 | CONTEST_AI_DUMMY_5 | CONTEST_AI_DUMMY_20 | CONTEST_AI_DUMMY_21, .aiChecks = 0xC000FFF,
.whichRank = CONTEST_RANK_MASTER, .whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,
@ -2647,7 +2647,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GONPOR"), .nickname = _("GONPOR"),
.trainerName = _("MARTIN"), .trainerName = _("MARTIN"),
.trainerGfxId = OBJ_EVENT_GFX_SCIENTIST_1, .trainerGfxId = OBJ_EVENT_GFX_SCIENTIST_1,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25, .aiChecks = 0x82000FFF,
.whichRank = CONTEST_RANK_MASTER, .whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE, .aiPool_Beauty = TRUE,
@ -2675,7 +2675,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DRITE"), .nickname = _("DRITE"),
.trainerName = _("SERGIO"), .trainerName = _("SERGIO"),
.trainerGfxId = OBJ_EVENT_GFX_BOY_1, .trainerGfxId = OBJ_EVENT_GFX_BOY_1,
.aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23, .aiChecks = 0x21000FFF,
.whichRank = CONTEST_RANK_MASTER, .whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE, .aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE, .aiPool_Beauty = FALSE,