summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/contest.c376
-rw-r--r--src/contest_ai.c46
-rw-r--r--src/contest_effect.c6
-rw-r--r--src/contest_link.c18
-rw-r--r--src/contest_link_util.c21
-rw-r--r--src/contest_util.c14
-rw-r--r--src/data/contest_opponents.h36
-rwxr-xr-xsrc/script_pokemon_util_80F87D8.c4
8 files changed, 266 insertions, 255 deletions
diff --git a/src/contest.c b/src/contest.c
index 76650da18..b90f89498 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -64,13 +64,13 @@ static void Task_ShowMoveSelectScreen(u8 taskId);
static void Task_HandleMoveSelectInput(u8 taskId);
static void DrawMoveSelectArrow(s8);
static void EraseMoveSelectArrow(s8);
-static void Task_SelectMove(u8 taskId);
+static void Task_SelectedMove(u8 taskId);
static void Task_EndCommunicateMoveSelections(u8 taskId);
static void Task_HideMoveSelectScreen(u8 taskId);
static void Task_HideApplauseMeterForAppealStart(u8 taskId);
static void Task_WaitHideApplauseMeterForAppealStart(u8 taskId);
static void sub_80D8A88(u8 taskId);
-static void sub_80D8B38(u8 taskId);
+static void Task_DoAppeals(u8 taskId);
static void sub_80DA110(u8);
static void sub_80DA134(struct Sprite *);
static void sub_80DA164(struct Sprite *);
@@ -86,14 +86,14 @@ static void sub_80DA49C(u8);
static void sub_80DA4CC(u8);
static void sub_80DA51C(u8);
static void sub_80DA5B4(u8);
-static void sub_80DA5E8(u8);
-static void sub_80DA6B4(u8);
-static void sub_80DA700(u8);
-static void sub_80DA740(u8);
-static void sub_80DA7A0(u8);
-static void sub_80DA7EC(u8);
-static void sub_80DA830(u8);
-static void sub_80DA874(void);
+static void Task_EndAppeals(u8);
+static void Task_WaitForOutOfTimeMsg(u8);
+static void Task_CoverAppealPanelForEnd(u8);
+static void Task_TryCommunicateFinalStandings(u8);
+static void Task_CommunicateFinalStandings(u8);
+static void Task_EndCommunicateFinalStandings(u8);
+static void Task_ContestReturnToField(u8);
+static void FieldCB_ContestReturnToField(void);
static bool8 sub_80DA8A4(void);
static void PrintContestantTrainerName(u8);
static void PrintContestantTrainerNameWithColor(u8 a0, u8 a1);
@@ -101,7 +101,7 @@ static void PrintContestantMonName(u8);
static void PrintContestantMonNameWithColor(u8, u8);
static u8 sub_80DB0C4(void);
static u8 sub_80DB120(void);
-static u8 sub_80DB174(u16, u32, u32, u32);
+static u8 CreateContestantSprite(u16, u32, u32, u32);
static void PrintContestMoveDescription(u16);
static u16 SanitizeSpecies(u16);
static void ContestClearGeneralTextWindow(void);
@@ -153,7 +153,7 @@ static void ShowAndUpdateApplauseMeter(s8 unused);
static void sub_80DDE0C(void);
static void UpdateApplauseMeter(void);
static void RankContestants(void);
-static void sub_80DBA18(void);
+static void SetAttentionLevels(void);
static void UpdateHeartSliders(void);
static bool8 SlidersDoneUpdating(void);
static void ContestBG_FillBoxWithTile(u8, u16, u8, u8, u8, u8, u8);
@@ -217,6 +217,9 @@ enum
#define MOVE_WINDOWS_START CONTEST_WINDOW_MOVE0
+#define TAG_CONTEST_SYMBOLS_PAL 0xABE0
+
+#define TAG_JUDGE_SYMBOLS_GFX 0xABE0
#define TAG_FACES_GFX 0xABE1
#define TAG_APPLAUSE_METER 0xABE2
@@ -236,10 +239,10 @@ enum {
// EWRAM vars.
EWRAM_DATA struct ContestPokemon gContestMons[CONTESTANT_COUNT] = {0};
-EWRAM_DATA s16 gContestMonConditions[CONTESTANT_COUNT] = {0};
-EWRAM_DATA s16 gContestMonTotalPoints[CONTESTANT_COUNT] = {0};
-EWRAM_DATA s16 gUnknown_02039F10[CONTESTANT_COUNT] = {0};
-EWRAM_DATA s16 gContestMonRound2Points[CONTESTANT_COUNT] = {0};
+EWRAM_DATA s16 gContestMonRound1Points[CONTESTANT_COUNT] = {0}; // "Round 1" points are based on condition
+EWRAM_DATA s16 gContestMonTotalPoints[CONTESTANT_COUNT] = {0}; // Round 1 points + Round 2 points
+EWRAM_DATA s16 gContestMonAppealPointTotals[CONTESTANT_COUNT] = {0};
+EWRAM_DATA s16 gContestMonRound2Points[CONTESTANT_COUNT] = {0}; // "Round 2" points are just appeal points * 2
EWRAM_DATA u8 gContestFinalStandings[CONTESTANT_COUNT] = {0};
EWRAM_DATA u8 gContestMonPartyIndex = 0;
EWRAM_DATA u8 gContestPlayerMonIndex = 0;
@@ -331,7 +334,7 @@ static const union AffineAnimCmd* const sAffineAnims_SliderHeart[] =
static const struct SpriteTemplate sSpriteTemplate_SliderHeart =
{
.tileTag = TAG_SLIDER_HEART,
- .paletteTag = 0xABE0,
+ .paletteTag = TAG_CONTEST_SYMBOLS_PAL,
.oam = &sOam_SliderHeart,
.anims = gDummySpriteAnimTable,
.images = NULL,
@@ -454,14 +457,15 @@ static const struct SubspriteTable sSubspriteTable_NextTurn[] =
}
};
-const struct CompressedSpriteSheet gUnknown_08587B88 =
+// Unused
+static const struct CompressedSpriteSheet sSpriteSheet_Faces =
{
.data = gContestFaces_Gfx,
.size = 0x180,
.tag = TAG_FACES_GFX
};
-const struct OamData gOamData_8587B90 =
+static const struct OamData sOam_Faces =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -475,11 +479,12 @@ const struct OamData gOamData_8587B90 =
.paletteNum = 0,
};
-const struct SpriteTemplate gSpriteTemplate_8587B98 =
+// Unused
+static const struct SpriteTemplate sSpriteTemplate_Faces =
{
.tileTag = TAG_FACES_GFX,
- .paletteTag = 0xABE0,
- .oam = &gOamData_8587B90,
+ .paletteTag = TAG_CONTEST_SYMBOLS_PAL,
+ .oam = &sOam_Faces,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -556,23 +561,23 @@ const struct CompressedSpriteSheet gUnknown_08587C00 =
.tag = 0x4E21
};
-const struct CompressedSpriteSheet gUnknown_08587C08 =
+static const struct CompressedSpriteSheet sSpriteSheet_JudgeSymbols =
{
.data = gContestJudgeSymbolsGfx,
.size = 0x380,
- .tag = 0xABE0
+ .tag = TAG_JUDGE_SYMBOLS_GFX
};
const struct CompressedSpritePalette gUnknown_08587C10 =
{
.data = gContest3Pal,
- .tag = 0xABE0
+ .tag = TAG_CONTEST_SYMBOLS_PAL
};
const struct SpriteTemplate gSpriteTemplate_8587C18 =
{
- .tileTag = 0xABE0,
- .paletteTag = 0xABE0,
+ .tileTag = TAG_JUDGE_SYMBOLS_GFX,
+ .paletteTag = TAG_CONTEST_SYMBOLS_PAL,
.oam = &gOamData_AffineOff_ObjNormal_16x16,
.anims = gDummySpriteAnimTable,
.images = NULL,
@@ -1340,7 +1345,7 @@ static void Task_DisplayAppealNumberText(u8 taskId)
gBattle_BG2_Y = 0;
ContestDebugDoPrint();
DmaCopy32Defvars(3, gPlttBufferUnfaded, eUnknownHeap1A004.unk18204, PLTT_BUFFER_SIZE * 2);
- ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
+ ConvertIntToDecimalStringN(gStringVar1, eContest.appealNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex))
StringCopy(gDisplayedStringBattle, gText_AppealNumWhichMoveWillBePlayed);
else
@@ -1374,7 +1379,7 @@ static void Task_TryShowMoveSelectScreen(u8 taskId)
else
{
// Skip move selection (selected move will be MOVE_NONE)
- gTasks[taskId].func = Task_SelectMove;
+ gTasks[taskId].func = Task_SelectedMove;
}
}
}
@@ -1431,7 +1436,7 @@ static void Task_HandleMoveSelectInput(u8 taskId)
if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
- gTasks[taskId].func = Task_SelectMove;
+ gTasks[taskId].func = Task_SelectedMove;
}
else
{
@@ -1441,7 +1446,7 @@ static void Task_HandleMoveSelectInput(u8 taskId)
// Cancel move selection
PlaySE(SE_SELECT);
SetBottomSliderHeartsInvisibility(FALSE);
- ConvertIntToDecimalStringN(gStringVar1, eContest.turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
+ ConvertIntToDecimalStringN(gStringVar1, eContest.appealNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex))
StringCopy(gDisplayedStringBattle, gText_AppealNumWhichMoveWillBePlayed);
else
@@ -1493,7 +1498,7 @@ static void EraseMoveSelectArrow(s8 moveIndex)
ContestBG_FillBoxWithIncrementingTile(2, 11, 0, 32 + moveIndex * 2, 2, 1, 17, 1);
}
-static void Task_SelectMove(u8 taskId)
+static void Task_SelectedMove(u8 taskId)
{
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
@@ -1568,7 +1573,7 @@ static void sub_80D8A88(u8 taskId)
{
if (++gTasks[taskId].data[0] > 19)
{
- eContest.unk19214 = 0;
+ eContest.turnNumber = 0;
eContest.unk1921C = gRngValue;
if ((gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) && sub_80DA8A4())
{
@@ -1580,46 +1585,48 @@ static void sub_80D8A88(u8 taskId)
}
}
gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = sub_80D8B38;
+ gTasks[taskId].func = Task_DoAppeals;
}
}
-static void sub_80D8B38(u8 taskId)
+#define tState data[0]
+
+static void Task_DoAppeals(u8 taskId)
{
u8 spriteId;
s32 i;
- u8 r6 = eContest.unk19215;
+ u8 r6 = eContest.currentContestant;
s8 r3;
- switch (gTasks[taskId].data[0])
+ switch (gTasks[taskId].tState)
{
case 0:
ContestDebugDoPrint();
- for (i = 0; eContest.unk19214 != gContestResources->field_8->turnOrder[i]; i++)
+ for (i = 0; eContest.turnNumber != gContestResources->field_8->turnOrder[i]; i++)
;
- eContest.unk19215 = i;
- r6 = eContest.unk19215;
+ eContest.currentContestant = i;
+ r6 = eContest.currentContestant;
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
u8 taskId2;
eContest.unk1920B_2 = 1;
if (sub_80DA8A4())
- sub_80DD080(eContest.unk19215);
+ sub_80DD080(eContest.currentContestant);
taskId2 = CreateTask(sub_80FCC88, 0);
SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110);
ContestPrintLinkStandby();
- gTasks[taskId].data[0] = 1;
+ gTasks[taskId].tState = 1;
}
else
{
- sub_80DD080(eContest.unk19215);
- gTasks[taskId].data[0] = 2;
+ sub_80DD080(eContest.currentContestant);
+ gTasks[taskId].tState = 2;
}
return;
case 1:
if (!eContest.unk1920B_2)
- gTasks[taskId].data[0] = 2;
+ gTasks[taskId].tState = 2;
return;
case 2:
sub_80DF080(r6);
@@ -1627,44 +1634,44 @@ static void sub_80D8B38(u8 taskId)
if (eContestantStatus[r6].numTurnsSkipped != 0
|| eContestantStatus[r6].noMoreTurns)
{
- gTasks[taskId].data[0] = 31;
+ gTasks[taskId].tState = 31;
}
else
{
ContestClearGeneralTextWindow();
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 3;
+ gTasks[taskId].tState = 3;
}
return;
case 3:
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CONTESTANT_COUNT; i++)
gBattleMonForms[i] = 0;
memset(gContestResources->field_18, 0, sizeof(*gContestResources->field_18));
- sub_80DE9DC(eContest.unk19215);
- spriteId = sub_80DB174(
- gContestMons[eContest.unk19215].species,
- gContestMons[eContest.unk19215].otId,
- gContestMons[eContest.unk19215].personality,
- eContest.unk19215);
+ sub_80DE9DC(eContest.currentContestant);
+ spriteId = CreateContestantSprite(
+ gContestMons[eContest.currentContestant].species,
+ gContestMons[eContest.currentContestant].otId,
+ gContestMons[eContest.currentContestant].personality,
+ eContest.currentContestant);
gSprites[spriteId].pos2.x = 120;
gSprites[spriteId].callback = sub_80DA134;
gTasks[taskId].data[2] = spriteId;
gBattlerSpriteIds[gBattlerAttacker] = spriteId;
- sub_80DCBE8(sub_80DC9EC(eContest.unk19215), FALSE);
- gTasks[taskId].data[0] = 4;
+ sub_80DCBE8(sub_80DC9EC(eContest.currentContestant), FALSE);
+ gTasks[taskId].tState = 4;
return;
case 4:
spriteId = gTasks[taskId].data[2];
if (gSprites[spriteId].callback == SpriteCallbackDummy)
{
if (!gContestResources->field_14[r6].unk2_1)
- gTasks[taskId].data[0] = 5;
+ gTasks[taskId].tState = 5;
}
return;
case 5:
if (eContestantStatus[r6].nervous)
{
- gTasks[taskId].data[0] = 33;
+ gTasks[taskId].tState = 33;
}
else
{
@@ -1676,25 +1683,25 @@ static void sub_80D8B38(u8 taskId)
StringCopy(gStringVar2, sInvalidContestMoveNames[eContestantStatus[r6].moveCategory]);
StringExpandPlaceholders(gStringVar4, gText_MonAppealedWithMove);
Contest_StartTextPrinter(gStringVar4, 1);
- gTasks[taskId].data[0] = 6;
+ gTasks[taskId].tState = 6;
}
return;
case 6:
if (!Contest_RunTextPrinters())
{
eContest.unk1925E = 0;
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].tState = 7;
}
return;
case 7:
{
- u16 move = SanitizeMove(eContestantStatus[eContest.unk19215].currMove);
+ u16 move = SanitizeMove(eContestantStatus[eContest.currentContestant].currMove);
- sub_80DE864(eContest.unk19215);
- sub_80DE9DC(eContest.unk19215);
+ sub_80DE864(eContest.currentContestant);
+ sub_80DE9DC(eContest.currentContestant);
SelectContestMoveBankTarget(move);
DoMoveAnim(move);
- gTasks[taskId].data[0] = 8;
+ gTasks[taskId].tState = 8;
}
return;
case 8:
@@ -1705,14 +1712,14 @@ static void sub_80D8B38(u8 taskId)
if (eContest.unk1925E != 0)
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 9;
+ gTasks[taskId].tState = 9;
}
else
{
if (!eContestantStatus[r6].hasJudgesAttention)
sub_80DC674(r6);
sub_80DE12C();
- gTasks[taskId].data[0] = 23;
+ gTasks[taskId].tState = 23;
}
}
return;
@@ -1720,7 +1727,7 @@ static void sub_80D8B38(u8 taskId)
if (gTasks[taskId].data[10]++ > 30)
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].tState = 7;
}
return;
case 23:
@@ -1729,7 +1736,7 @@ static void sub_80D8B38(u8 taskId)
{
sub_80DD45C(r6, eContestantStatus[r6].effectStringId);
eContestantStatus[r6].effectStringId = CONTEST_STRING_NONE;
- gTasks[taskId].data[0] = 24;
+ gTasks[taskId].tState = 24;
}
else
{
@@ -1744,22 +1751,22 @@ static void sub_80D8B38(u8 taskId)
{
sub_80DD45C(r6, eContestantStatus[r6].effectStringId2);
eContestantStatus[r6].effectStringId2 = CONTEST_STRING_NONE;
- gTasks[taskId].data[0] = 24;
+ gTasks[taskId].tState = 24;
}
else
{
- gTasks[taskId].data[0] = 48;
+ gTasks[taskId].tState = 48;
}
}
else
{
- gTasks[taskId].data[0] = 48;
+ gTasks[taskId].tState = 48;
}
}
return;
case 24:
if (!Contest_RunTextPrinters())
- gTasks[taskId].data[0] = 23;
+ gTasks[taskId].tState = 23;
return;
case 48:
if (eContestantStatus[r6].turnOrderModAction == 1)
@@ -1776,62 +1783,62 @@ static void sub_80D8B38(u8 taskId)
}
else
{
- gTasks[taskId].data[0] = 47;
+ gTasks[taskId].tState = 47;
return;
}
- gTasks[taskId].data[0] = 49;
+ gTasks[taskId].tState = 49;
return;
case 49:
if (!eContest.unk1920A_4)
- gTasks[taskId].data[0] = 47;
+ gTasks[taskId].tState = 47;
return;
case 47:
sub_80DE008(TRUE);
- gTasks[taskId].data[0] = 12;
+ gTasks[taskId].tState = 12;
return;
case 12:
sub_80DC028(0, eContestantStatus[r6].appeal2, r6);
- gTasks[taskId].data[0] = 13;
+ gTasks[taskId].tState = 13;
return;
case 13:
- if (!gContestResources->field_14[eContest.unk19215].unk2_2)
- gTasks[taskId].data[0] = 35;
+ if (!gContestResources->field_14[eContest.currentContestant].unk2_2)
+ gTasks[taskId].tState = 35;
return;
case 35:
if (eContestantStatus[r6].conditionMod == 1)
sub_80DD720(8);
- gTasks[taskId].data[0] = 36;
+ gTasks[taskId].tState = 36;
return;
case 36:
if (!eContest.unk1920A_4)
- gTasks[taskId].data[0] = 37;
+ gTasks[taskId].tState = 37;
return;
case 37:
if (sub_80DB5B8(r6, 1))
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 38;
+ gTasks[taskId].tState = 38;
}
else
{
- gTasks[taskId].data[0] = 50;
+ gTasks[taskId].tState = 50;
}
return;
case 38:
if (++gTasks[taskId].data[10] > 20)
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 50;
+ gTasks[taskId].tState = 50;
}
return;
case 50:
if (sub_80DB798(r6))
PlaySE(SE_C_PASI);
- gTasks[taskId].data[0] = 25;
+ gTasks[taskId].tState = 25;
return;
case 25:
gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[0] = 26;
+ gTasks[taskId].tState = 26;
return;
case 26:
{
@@ -1858,32 +1865,32 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[1] = gContestantTurnOrder[r2];
sub_80DD45C(r2, eContestantStatus[r2].effectStringId);
eContestantStatus[r2].effectStringId = CONTEST_STRING_NONE;
- gTasks[taskId].data[0] = 27;
+ gTasks[taskId].tState = 27;
}
else
{
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 51;
+ gTasks[taskId].tState = 51;
sub_80DB884();
}
}
return;
case 27:
if (!Contest_RunTextPrinters())
- gTasks[taskId].data[0] = 28;
+ gTasks[taskId].tState = 28;
return;
case 28:
for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++)
;
sub_80DC028(eContestantStatus[i].appeal2 + eContestantStatus[i].jam, -eContestantStatus[i].jam, i);
- gTasks[taskId].data[0] = 29;
+ gTasks[taskId].tState = 29;
return;
case 29:
for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++)
;
if (!gContestResources->field_14[i].unk2_2)
- gTasks[taskId].data[0] = 39;
+ gTasks[taskId].tState = 39;
return;
case 39:
for (i = 0; gTasks[taskId].data[1] != gContestantTurnOrder[i]; i++)
@@ -1891,18 +1898,18 @@ static void sub_80D8B38(u8 taskId)
if (sub_80DB5B8(i, 1))
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 40;
+ gTasks[taskId].tState = 40;
}
else
{
- gTasks[taskId].data[0] = 30;
+ gTasks[taskId].tState = 30;
}
return;
case 40:
if (++gTasks[taskId].data[10] > 20)
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 30;
+ gTasks[taskId].tState = 30;
}
return;
case 30:
@@ -1921,7 +1928,7 @@ static void sub_80D8B38(u8 taskId)
eContestantStatus[i].judgesAttentionWasRemoved = 0;
}
gTasks[taskId].data[1]++;
- gTasks[taskId].data[0] = 26;
+ gTasks[taskId].tState = 26;
return;
case 51:
if (gTasks[taskId].data[10]++ > 9)
@@ -1935,16 +1942,16 @@ static void sub_80D8B38(u8 taskId)
StringExpandPlaceholders(gStringVar4, gText_MonCantAppealNextTurn);
Contest_StartTextPrinter(gStringVar4, 1);
}
- gTasks[taskId].data[0] = 52;
+ gTasks[taskId].tState = 52;
}
return;
case 52:
if (!Contest_RunTextPrinters())
{
if (!eContestantStatus[r6].unk15_6)
- gTasks[taskId].data[0] = 17;
+ gTasks[taskId].tState = 17;
else
- gTasks[taskId].data[0] = 14;
+ gTasks[taskId].tState = 14;
}
return;
case 14:
@@ -1960,7 +1967,7 @@ static void sub_80D8B38(u8 taskId)
Contest_StartTextPrinter(gText_AppealComboWentOverExcellently, TRUE);
sub_80DD720(3);
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 45;
+ gTasks[taskId].tState = 45;
}
else
{
@@ -1970,14 +1977,14 @@ static void sub_80D8B38(u8 taskId)
Contest_StartTextPrinter(gStringVar4, 1);
sub_80DD720(2);
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 45;
+ gTasks[taskId].tState = 45;
}
return;
case 45:
if (!eContest.unk1920A_4)
{
- sub_80DC9B4(eContest.unk19215);
- gTasks[taskId].data[0] = 15;
+ sub_80DC9B4(eContest.currentContestant);
+ gTasks[taskId].tState = 15;
}
return;
case 15:
@@ -1993,7 +2000,7 @@ static void sub_80D8B38(u8 taskId)
r6);
eContestantStatus[r6].appeal2 += eContestantStatus[r6].unk17;
}
- gTasks[taskId].data[0] = 16;
+ gTasks[taskId].tState = 16;
}
}
return;
@@ -2001,7 +2008,7 @@ static void sub_80D8B38(u8 taskId)
if (!gContestResources->field_14[r6].unk2_2)
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 17;
+ gTasks[taskId].tState = 17;
}
return;
case 17:
@@ -2013,23 +2020,23 @@ static void sub_80D8B38(u8 taskId)
Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[10] = 0;
sub_80DD720(0);
- gTasks[taskId].data[0] = 46;
+ gTasks[taskId].tState = 46;
}
else
{
- gTasks[taskId].data[0] = 41;
+ gTasks[taskId].tState = 41;
}
return;
case 46:
if (!eContest.unk1920A_4)
- gTasks[taskId].data[0] = 19;
+ gTasks[taskId].tState = 19;
return;
case 19:
if (!Contest_RunTextPrinters())
{
sub_80DC028(eContestantStatus[r6].appeal2, -eContestantStatus[r6].unk18, r6);
eContestantStatus[r6].appeal2 -= eContestantStatus[r6].unk18;
- gTasks[taskId].data[0] = 18;
+ gTasks[taskId].tState = 18;
}
return;
case 18:
@@ -2038,13 +2045,13 @@ static void sub_80D8B38(u8 taskId)
{
gTasks[taskId].data[10] = 0;
ContestClearGeneralTextWindow();
- gTasks[taskId].data[0] = 41;
+ gTasks[taskId].tState = 41;
}
return;
case 41:
if (gContestResources->field_10->excitementFrozen && r6 != gContestResources->field_10->excitementFreezer)
{
- gTasks[taskId].data[0] = 57;
+ gTasks[taskId].tState = 57;
}
else
{
@@ -2070,7 +2077,7 @@ static void sub_80D8B38(u8 taskId)
eContest.applauseLevel = 0;
if (r3 == 0)
{
- gTasks[taskId].data[0] = 55;
+ gTasks[taskId].tState = 55;
}
else
{
@@ -2084,9 +2091,9 @@ static void sub_80D8B38(u8 taskId)
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[11] = 0;
if (r3 < 0)
- gTasks[taskId].data[0] = 53;
+ gTasks[taskId].tState = 53;
else
- gTasks[taskId].data[0] = 54;
+ gTasks[taskId].tState = 54;
}
}
return;
@@ -2121,7 +2128,7 @@ static void sub_80D8B38(u8 taskId)
{
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[11] = 0;
- gTasks[taskId].data[0] = 43;
+ gTasks[taskId].tState = 43;
}
break;
}
@@ -2172,7 +2179,7 @@ static void sub_80D8B38(u8 taskId)
{
gTasks[taskId].data[10] = 0;
gTasks[taskId].data[11] = 0;
- gTasks[taskId].data[0] = 43;
+ gTasks[taskId].tState = 43;
}
break;
}
@@ -2181,7 +2188,7 @@ static void sub_80D8B38(u8 taskId)
if (!gContestResources->field_14[r6].unk2_2)
{
ContestClearGeneralTextWindow();
- gTasks[taskId].data[0] = 55;
+ gTasks[taskId].tState = 55;
}
return;
case 57:
@@ -2191,7 +2198,7 @@ static void sub_80D8B38(u8 taskId)
StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]);
StringExpandPlaceholders(gStringVar4, gText_CrowdContinuesToWatchMon);
Contest_StartTextPrinter(gStringVar4, TRUE);
- gTasks[taskId].data[0] = 58;
+ gTasks[taskId].tState = 58;
return;
case 58:
if (!Contest_RunTextPrinters())
@@ -2199,14 +2206,14 @@ static void sub_80D8B38(u8 taskId)
ContestClearGeneralTextWindow();
StringExpandPlaceholders(gStringVar4, gText_MonsMoveIsIgnored);
Contest_StartTextPrinter(gStringVar4, TRUE);
- gTasks[taskId].data[0] = 59;
+ gTasks[taskId].tState = 59;
}
return;
case 59:
if (!Contest_RunTextPrinters())
{
ContestClearGeneralTextWindow();
- gTasks[taskId].data[0] = 55;
+ gTasks[taskId].tState = 55;
}
return;
case 33:
@@ -2217,15 +2224,15 @@ static void sub_80D8B38(u8 taskId)
StringCopy(gStringVar2, gMoveNames[eContestantStatus[r6].currMove]);
StringExpandPlaceholders(gStringVar4, gText_MonWasTooNervousToMove);
Contest_StartTextPrinter(gStringVar4, TRUE);
- gTasks[taskId].data[0] = 34;
+ gTasks[taskId].tState = 34;
return;
case 34:
if (!Contest_RunTextPrinters())
- gTasks[taskId].data[0] = 55;
+ gTasks[taskId].tState = 55;
return;
case 55:
TryMoveApplauseMeterOffscreen();
- gTasks[taskId].data[0] = 56;
+ gTasks[taskId].tState = 56;
return;
case 56:
if (!eContest.applauseMeterIsMoving)
@@ -2235,13 +2242,13 @@ static void sub_80D8B38(u8 taskId)
eContest.applauseLevel = 0;
UpdateApplauseMeter();
}
- gTasks[taskId].data[0] = 10;
+ gTasks[taskId].tState = 10;
}
return;
case 10:
spriteId = gTasks[taskId].data[2];
gSprites[spriteId].callback = sub_80DA164;
- gTasks[taskId].data[0] = 11;
+ gTasks[taskId].tState = 11;
return;
case 11:
spriteId = gTasks[taskId].data[2];
@@ -2249,42 +2256,42 @@ static void sub_80D8B38(u8 taskId)
{
FreeSpriteOamMatrix(&gSprites[spriteId]);
DestroySprite(&gSprites[spriteId]);
- gTasks[taskId].data[0] = 20;
+ gTasks[taskId].tState = 20;
}
return;
case 20:
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 21;
+ gTasks[taskId].tState = 21;
return;
case 31:
ContestClearGeneralTextWindow();
StringCopy(gStringVar1, gContestMons[r6].nickname);
StringExpandPlaceholders(gStringVar4, gText_MonWasWatchingOthers);
Contest_StartTextPrinter(gStringVar4, TRUE);
- gTasks[taskId].data[0] = 32;
+ gTasks[taskId].tState = 32;
return;
case 32:
if (!Contest_RunTextPrinters())
- gTasks[taskId].data[0] = 21;
+ gTasks[taskId].tState = 21;
return;
case 21:
if (++gTasks[taskId].data[10] > 29)
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 22;
+ gTasks[taskId].tState = 22;
}
return;
case 22:
- if (++eContest.unk19214 == 4)
+ if (++eContest.turnNumber == CONTESTANT_COUNT)
{
- gTasks[taskId].data[0] = 0;
+ gTasks[taskId].tState = 0;
gTasks[taskId].data[1] = 0;
gTasks[taskId].data[2] = 0;
gTasks[taskId].func = sub_80DA198;
}
else
{
- gTasks[taskId].data[0] = 0;
+ gTasks[taskId].tState = 0;
}
return;
}
@@ -2335,7 +2342,7 @@ static void sub_80DA198(u8 taskId)
if (sub_80DA8A4())
{
RankContestants();
- sub_80DBA18();
+ SetAttentionLevels();
}
taskId2 = CreateTask(sub_80FCC88, 0);
SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110);
@@ -2345,7 +2352,7 @@ static void sub_80DA198(u8 taskId)
else
{
RankContestants();
- sub_80DBA18();
+ SetAttentionLevels();
gTasks[taskId].data[0] = 2;
}
break;
@@ -2485,10 +2492,10 @@ static void sub_80DA51C(u8 taskId)
((vBgCnt *)&sp2)->priority = 0;
SetGpuReg(REG_OFFSET_BG0CNT, sp0);
SetGpuReg(REG_OFFSET_BG2CNT, sp2);
- eContest.turnNumber++;
- if (eContest.turnNumber == 5)
+ eContest.appealNumber++;
+ if (eContest.appealNumber == CONTEST_NUM_APPEALS)
{
- gTasks[taskId].func = sub_80DA5E8;
+ gTasks[taskId].func = Task_EndAppeals;
}
else
{
@@ -2503,14 +2510,14 @@ static void sub_80DA5B4(u8 taskId)
gTasks[taskId].func = Task_DisplayAppealNumberText;
}
-static void sub_80DA5E8(u8 taskId)
+static void Task_EndAppeals(u8 taskId)
{
s32 i;
gBattle_BG0_Y = 0;
gBattle_BG2_Y = 0;
for (i = 0; i < CONTESTANT_COUNT; i++)
- gUnknown_02039F10[i] = eContestantStatus[i].pointTotal;
+ gContestMonAppealPointTotals[i] = eContestantStatus[i].pointTotal;
CalculateFinalScores();
ContestClearGeneralTextWindow();
if (!(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
@@ -2525,10 +2532,10 @@ static void sub_80DA5E8(u8 taskId)
StringExpandPlaceholders(gStringVar4, gText_AllOutOfAppealTime);
Contest_StartTextPrinter(gStringVar4, TRUE);
gTasks[taskId].data[2] = 0;
- gTasks[taskId].func = sub_80DA6B4;
+ gTasks[taskId].func = Task_WaitForOutOfTimeMsg;
}
-static void sub_80DA6B4(u8 taskId)
+static void Task_WaitForOutOfTimeMsg(u8 taskId)
{
if (!Contest_RunTextPrinters())
{
@@ -2537,62 +2544,62 @@ static void sub_80DA6B4(u8 taskId)
gBattle_BG1_Y = 160;
PlaySE12WithPanning(SE_C_MAKU_D, 0);
gTasks[taskId].data[0] = 0;
- gTasks[taskId].func = sub_80DA700;
+ gTasks[taskId].func = Task_CoverAppealPanelForEnd;
}
}
-static void sub_80DA700(u8 taskId)
+static void Task_CoverAppealPanelForEnd(u8 taskId)
{
gBattle_BG1_Y -= 7;
if ((s16)gBattle_BG1_Y < 0)
gBattle_BG1_Y = 0;
if (gBattle_BG1_Y == 0)
{
- gTasks[taskId].func = sub_80DA740;
+ gTasks[taskId].func = Task_TryCommunicateFinalStandings;
gTasks[taskId].data[0] = 0;
}
}
-static void sub_80DA740(u8 taskId)
+static void Task_TryCommunicateFinalStandings(u8 taskId)
{
if (gTasks[taskId].data[0]++ >= 50)
{
gTasks[taskId].data[0] = 0;
if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK)
{
- gTasks[taskId].func = sub_80DA7A0;
+ gTasks[taskId].func = Task_CommunicateFinalStandings;
}
else
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gTasks[taskId].func = sub_80DA830;
+ gTasks[taskId].func = Task_ContestReturnToField;
}
}
}
-static void sub_80DA7A0(u8 taskId)
+static void Task_CommunicateFinalStandings(u8 taskId)
{
- u8 taskId2 = CreateTask(sub_80FCACC, 0);
+ u8 taskId2 = CreateTask(Task_LinkContest_CommunicateFinalStandings, 0);
- SetTaskFuncWithFollowupFunc(taskId2, sub_80FCACC, sub_80DA7EC);
+ SetTaskFuncWithFollowupFunc(taskId2, Task_LinkContest_CommunicateFinalStandings, Task_EndCommunicateFinalStandings);
gTasks[taskId].func = TaskDummy1;
ContestPrintLinkStandby();
SetBottomSliderHeartsInvisibility(FALSE);
}
-static void sub_80DA7EC(u8 taskId)
+static void Task_EndCommunicateFinalStandings(u8 taskId)
{
DestroyTask(taskId);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
- gTasks[eContest.mainTaskId].func = sub_80DA830;
+ gTasks[eContest.mainTaskId].func = Task_ContestReturnToField;
}
-static void sub_80DA830(u8 taskId)
+static void Task_ContestReturnToField(u8 taskId)
{
if (!gPaletteFade.active)
{
DestroyTask(taskId);
- gFieldCallback = sub_80DA874;
+ gFieldCallback = FieldCB_ContestReturnToField;
FreeAllWindowBuffers();
FreeContestResources();
FreeMonSpritesGfx();
@@ -2600,7 +2607,7 @@ static void sub_80DA830(u8 taskId)
}
}
-static void sub_80DA874(void)
+static void FieldCB_ContestReturnToField(void)
{
ScriptContext2_Disable();
EnableBothScriptContexts();
@@ -2696,33 +2703,33 @@ void CreateContestMonFromParty(u8 partyIndex)
gContestMons[gContestPlayerMonIndex].tough = tough;
}
-void sub_80DAB8C(u8 contestType, u8 rank)
+void SetContestants(u8 contestType, u8 rank)
{
s32 i;
u8 opponentsCount = 0;
u8 opponents[100];
- bool8 r7 = FALSE;
- const u8 * r3;
+ bool8 allowPostgameContestants = FALSE;
+ const u8 * filter;
TryPutPlayerLast();
if (FlagGet(FLAG_SYS_GAME_CLEAR) && !(gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK))
- r7 = TRUE;
+ allowPostgameContestants = TRUE;
// Find all suitable opponents
- r3 = gPostgameContestOpponentFilter;
+ filter = gPostgameContestOpponentFilter;
for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++)
{
if (rank == gContestOpponents[i].whichRank)
{
- if (r7 == TRUE)
+ if (allowPostgameContestants == TRUE)
{
- if (r3[i] == 1)
+ if (filter[i] == CONTEST_FILTER_NO_POSTGAME)
continue;
}
else
{
- if (r3[i] == 2)
+ if (filter[i] == CONTEST_FILTER_ONLY_POSTGAME)
continue;
}
if (contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool)
@@ -2740,7 +2747,7 @@ void sub_80DAB8C(u8 contestType, u8 rank)
opponents[opponentsCount] = 0xFF;
// Choose three random opponents from the list
- for (i = 0; i < 3; i++)
+ for (i = 0; i < CONTESTANT_COUNT - 1; i++)
{
u16 rnd = Random() % opponentsCount;
s32 j;
@@ -2754,15 +2761,16 @@ void sub_80DAB8C(u8 contestType, u8 rank)
CreateContestMonFromParty(gContestMonPartyIndex);
}
-void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
+void SetLinkAIContestants(u8 contestType, u8 rank, bool32 isPostgame)
{
s32 i, j;
u8 opponentsCount = 0;
u8 opponents[100];
- if (gNumLinkContestPlayers == 4)
+ if (gNumLinkContestPlayers == CONTESTANT_COUNT)
return;
+ // Find all suitable AI opponents
for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++)
{
if (rank != gContestOpponents[i].whichRank)
@@ -2786,6 +2794,8 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
opponents[opponentsCount++] = i;
}
opponents[opponentsCount] = 0xFF;
+
+ // Fill remaining contestant slots with random AI opponents from the list
for (i = 0; i < CONTESTANT_COUNT - gNumLinkContestPlayers; i++)
{
u16 rnd = GetContestRand() % opponentsCount;
@@ -2935,7 +2945,7 @@ void sub_80DB09C(u8 contestCategory)
s32 i;
for (i = 0; i < CONTESTANT_COUNT; i++)
- gContestMonConditions[i] = sub_80DAFE0(i, contestCategory);
+ gContestMonRound1Points[i] = sub_80DAFE0(i, contestCategory);
}
static u8 sub_80DB0C4(void)
@@ -2954,7 +2964,7 @@ static u8 sub_80DB120(void)
{
u8 spriteId;
- LoadCompressedSpriteSheet(&gUnknown_08587C08);
+ LoadCompressedSpriteSheet(&sSpriteSheet_JudgeSymbols);
LoadCompressedSpritePalette(&gUnknown_08587C10);
spriteId = CreateSprite(&gSpriteTemplate_8587C18, 96, 10, 29);
gSprites[spriteId].invisible = TRUE;
@@ -2962,7 +2972,7 @@ static u8 sub_80DB120(void)
return spriteId;
}
-static u8 sub_80DB174(u16 species, u32 otId, u32 personality, u32 index)
+static u8 CreateContestantSprite(u16 species, u32 otId, u32 personality, u32 index)
{
u8 spriteId;
species = SanitizeSpecies(species);
@@ -3300,7 +3310,7 @@ static void RankContestants(void)
ApplyNextTurnOrder();
}
-static void sub_80DBA18(void)
+static void SetAttentionLevels(void)
{
s32 i;
@@ -3373,16 +3383,16 @@ static void sub_80DBAA0(void)
for (i = 0; i < CONTESTANT_COUNT; i++)
{
eContestantStatus[i].prevMove = eContestantStatus[i].currMove;
- eContest.moveHistory[eContest.turnNumber][i] = eContestantStatus[i].currMove;
- eContest.excitementHistory[eContest.turnNumber][i] = Contest_GetMoveExcitement(eContestantStatus[i].currMove);
+ eContest.moveHistory[eContest.appealNumber][i] = eContestantStatus[i].currMove;
+ eContest.excitementHistory[eContest.appealNumber][i] = Contest_GetMoveExcitement(eContestantStatus[i].currMove);
eContestantStatus[i].currMove = MOVE_NONE;
}
eContestResources10.excitementFrozen = 0;
}
-bool8 Contest_IsMonsTurnDisabled(u8 a)
+bool8 Contest_IsMonsTurnDisabled(u8 contestant)
{
- if (eContestantStatus[a].numTurnsSkipped != 0 || eContestantStatus[a].noMoreTurns)
+ if (eContestantStatus[contestant].numTurnsSkipped != 0 || eContestantStatus[contestant].noMoreTurns)
return TRUE;
else
return FALSE;
@@ -3391,7 +3401,7 @@ bool8 Contest_IsMonsTurnDisabled(u8 a)
static void CalculateTotalPointsForContestant(u8 contestant)
{
gContestMonRound2Points[contestant] = GetContestantRound2Points(contestant);
- gContestMonTotalPoints[contestant] = gContestMonConditions[contestant] + gContestMonRound2Points[contestant];
+ gContestMonTotalPoints[contestant] = gContestMonRound1Points[contestant] + gContestMonRound2Points[contestant];
}
static void CalculateFinalScores(void)
@@ -3405,7 +3415,7 @@ static void CalculateFinalScores(void)
static s16 GetContestantRound2Points(u8 contestant)
{
- return gUnknown_02039F10[contestant] * 2;
+ return gContestMonAppealPointTotals[contestant] * 2;
}
static void DetermineFinalStandings(void)
@@ -3433,7 +3443,7 @@ static void DetermineFinalStandings(void)
for (i = 0; i < CONTESTANT_COUNT; i++)
{
sp8[i].unk0 = gContestMonTotalPoints[i];
- sp8[i].unk4 = gContestMonConditions[i];
+ sp8[i].unk4 = gContestMonRound1Points[i];
sp8[i].unk8 = randomOrdering[i];
sp8[i].unkC = i;
}
@@ -4147,8 +4157,8 @@ void SortContestants(bool8 useRanking)
// Determine where the contestant should be ordered.
for (v3 = 0; v3 < i; v3++)
{
- if (gContestMonConditions[gContestantTurnOrder[v3]] < gContestMonConditions[i]
- || (gContestMonConditions[gContestantTurnOrder[v3]] == gContestMonConditions[i] && randomOrdering[gContestantTurnOrder[v3]] < randomOrdering[i]))
+ if (gContestMonRound1Points[gContestantTurnOrder[v3]] < gContestMonRound1Points[i]
+ || (gContestMonRound1Points[gContestantTurnOrder[v3]] == gContestMonRound1Points[i] && randomOrdering[gContestantTurnOrder[v3]] < randomOrdering[i]))
{
// Shift everything larger up to make room.
s32 j;
@@ -5463,7 +5473,7 @@ static void sub_80DF080(u8 contestant)
{
gContestResources->field_1c[contestant].unkC |= 0x80;
gContestResources->field_1c[contestant].unkE_1 = 1;
- gContestResources->field_1c[contestant].unk0[eContest.turnNumber] = eContestantStatus[contestant].currMove;
+ gContestResources->field_1c[contestant].unk0[eContest.appealNumber] = eContestantStatus[contestant].currMove;
}
if (eContestantStatus[contestant].repeatedMove)
@@ -5511,7 +5521,7 @@ static void sub_80DF250(void)
for (j = 0; j < CONTESTANT_COUNT; j++)
{
- if (gContestMonConditions[i] < gContestMonConditions[j])
+ if (gContestMonRound1Points[i] < gContestMonRound1Points[j])
break;
}
if (j == 4 && gContestFinalStandings[i] != 0)
@@ -5521,7 +5531,7 @@ static void sub_80DF250(void)
r8 = FALSE;
for (j = 0; j < CONTESTANT_COUNT; j++)
{
- if (gContestMonConditions[i] > gContestMonConditions[j])
+ if (gContestMonRound1Points[i] > gContestMonRound1Points[j])
r12 = TRUE;
if (gContestMonRound2Points[i] > gContestMonRound2Points[j])
r8 = TRUE;
@@ -5612,7 +5622,7 @@ static void sub_80DF4F8(void)
r10 = 0;
for (i = 0; i < CONTESTANT_COUNT; i++)
{
- if (gContestMonConditions[r7] < gContestMonConditions[i])
+ if (gContestMonRound1Points[r7] < gContestMonRound1Points[i])
r9++;
if (gContestMonRound2Points[r7] < gContestMonRound2Points[i])
r10++;
diff --git a/src/contest_ai.c b/src/contest_ai.c
index e2afb2890..7585cac69 100644
--- a/src/contest_ai.c
+++ b/src/contest_ai.c
@@ -10,11 +10,11 @@ extern const u8 *gAIScriptPtr;
extern const u8 *gContestAIChecks[];
static void ContestAICmd_score(void);
-static void ContestAICmd_get_turn(void);
-static void ContestAICmd_if_turn_less_than(void);
-static void ContestAICmd_if_turn_more_than(void);
-static void ContestAICmd_if_turn_eq(void);
-static void ContestAICmd_if_turn_not_eq(void);
+static void ContestAICmd_get_appeal_num(void);
+static void ContestAICmd_if_appeal_num_less_than(void);
+static void ContestAICmd_if_appeal_num_more_than(void);
+static void ContestAICmd_if_appeal_num_eq(void);
+static void ContestAICmd_if_appeal_num_not_eq(void);
static void ContestAICmd_get_excitement(void);
static void ContestAICmd_if_excitement_less_than(void);
static void ContestAICmd_if_excitement_more_than(void);
@@ -151,11 +151,11 @@ typedef void (* ContestAICmdFunc)(void);
static const ContestAICmdFunc sContestAICmdTable[] =
{
ContestAICmd_score, // 0x00
- ContestAICmd_get_turn, // 0x01
- ContestAICmd_if_turn_less_than, // 0x02
- ContestAICmd_if_turn_more_than, // 0x03
- ContestAICmd_if_turn_eq, // 0x04
- ContestAICmd_if_turn_not_eq, // 0x05
+ ContestAICmd_get_appeal_num, // 0x01
+ ContestAICmd_if_appeal_num_less_than, // 0x02
+ ContestAICmd_if_appeal_num_more_than, // 0x03
+ ContestAICmd_if_appeal_num_eq, // 0x04
+ ContestAICmd_if_appeal_num_not_eq, // 0x05
ContestAICmd_get_excitement, // 0x06
ContestAICmd_if_excitement_less_than, // 0x07
ContestAICmd_if_excitement_more_than, // 0x08
@@ -324,7 +324,7 @@ u8 ContestAI_GetActionToUse(void)
{
// Randomly choose a move index. If it's the move
// with the highest (or tied highest) score, return
- u8 moveIdx = Random() & (MAX_MON_MOVES - 1); // % 4 doesn't match
+ u8 moveIdx = Random() & (MAX_MON_MOVES - 1); // % MAX_MON_MOVES doesn't match
u8 score = eContestAI.moveScores[moveIdx];
int i;
for (i = 0; i < MAX_MON_MOVES; i++)
@@ -404,15 +404,15 @@ static void ContestAICmd_score(void)
gAIScriptPtr += 2;
}
-static void ContestAICmd_get_turn(void)
+static void ContestAICmd_get_appeal_num(void)
{
- eContestAI.scriptResult = eContest.turnNumber;
+ eContestAI.scriptResult = eContest.appealNumber;
gAIScriptPtr += 1;
}
-static void ContestAICmd_if_turn_less_than(void)
+static void ContestAICmd_if_appeal_num_less_than(void)
{
- ContestAICmd_get_turn();
+ ContestAICmd_get_appeal_num();
if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -420,9 +420,9 @@ static void ContestAICmd_if_turn_less_than(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_if_turn_more_than(void)
+static void ContestAICmd_if_appeal_num_more_than(void)
{
- ContestAICmd_get_turn();
+ ContestAICmd_get_appeal_num();
if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -430,9 +430,9 @@ static void ContestAICmd_if_turn_more_than(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_if_turn_eq(void)
+static void ContestAICmd_if_appeal_num_eq(void)
{
- ContestAICmd_get_turn();
+ ContestAICmd_get_appeal_num();
if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -440,9 +440,9 @@ static void ContestAICmd_if_turn_eq(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_if_turn_not_eq(void)
+static void ContestAICmd_if_appeal_num_not_eq(void)
{
- ContestAICmd_get_turn();
+ ContestAICmd_get_appeal_num();
if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -636,7 +636,7 @@ static void ContestAICmd_unk_19(void)
static void ContestAICmd_unk_1A(void)
{
- eContestAI.scriptResult = gContestMonConditions[eContestAI.contestantId];
+ eContestAI.scriptResult = gContestMonRound1Points[eContestAI.contestantId];
gAIScriptPtr += 1;
}
@@ -1357,7 +1357,7 @@ static void ContestAICmd_unk_5E(void)
{
u8 contestant = GetContestantIdByTurn(gAIScriptPtr[1]);
- eContestAI.scriptResult = gContestMonConditions[contestant] - gContestMonConditions[eContestAI.contestantId];
+ eContestAI.scriptResult = gContestMonRound1Points[contestant] - gContestMonRound1Points[eContestAI.contestantId];
gAIScriptPtr += 2;
}
diff --git a/src/contest_effect.c b/src/contest_effect.c
index 1d3c81776..809aecbed 100644
--- a/src/contest_effect.c
+++ b/src/contest_effect.c
@@ -750,7 +750,7 @@ static void ContestEffect_NextAppealEarlier(void)
s8 j;
u8 turnOrder[CONTESTANT_COUNT];
- if (eContest.turnNumber != 4)
+ if (eContest.appealNumber != CONTEST_LAST_APPEAL)
{
for (i = 0; i < CONTESTANT_COUNT; i++)
turnOrder[i] = eContestantStatus[i].nextTurnOrder;
@@ -792,7 +792,7 @@ static void ContestEffect_NextAppealLater(void)
s8 j;
u8 turnOrder[CONTESTANT_COUNT];
- if (eContest.turnNumber != 4)
+ if (eContest.appealNumber != CONTEST_LAST_APPEAL)
{
for (i = 0; i < CONTESTANT_COUNT; i++)
turnOrder[i] = eContestantStatus[i].nextTurnOrder;
@@ -841,7 +841,7 @@ static void ContestEffect_ScrambleNextTurnOrder(void)
u8 turnOrder[CONTESTANT_COUNT];
u8 unselectedContestants[CONTESTANT_COUNT];
- if (eContest.turnNumber != 4)
+ if (eContest.appealNumber != CONTEST_LAST_APPEAL)
{
for (i = 0; i < CONTESTANT_COUNT; i++)
{
diff --git a/src/contest_link.c b/src/contest_link.c
index 9241102e7..172a2b2ba 100644
--- a/src/contest_link.c
+++ b/src/contest_link.c
@@ -297,7 +297,7 @@ void Task_LinkContest_CommunicateMoveSelections(u8 taskId)
}
}
-void sub_80FCACC(u8 taskId)
+void Task_LinkContest_CommunicateFinalStandings(u8 taskId)
{
switch (gTasks[taskId].tState)
{
@@ -328,14 +328,14 @@ void sub_80FCACC(u8 taskId)
case 3:
if (IsLinkTaskFinished())
{
- if (LinkContest_SendBlock(gUnknown_02039F10, sizeof(gUnknown_02039F10)) == 1)
+ if (LinkContest_SendBlock(gContestMonAppealPointTotals, sizeof(gContestMonAppealPointTotals)) == 1)
gTasks[taskId].tState++;
}
break;
case 4:
if (LinkContest_GetBlockReceivedFromAllPlayers())
{
- memcpy(gUnknown_02039F10, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gUnknown_02039F10));
+ memcpy(gContestMonAppealPointTotals, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestMonAppealPointTotals));
gTasks[taskId].tState++;
}
break;
@@ -381,14 +381,14 @@ void sub_80FCC88(u8 taskId)
case 0:
if (IsLinkTaskFinished())
{
- if (LinkContest_SendBlock(eContestantStatus, 4 * sizeof(struct ContestantStatus)) == 1)
+ if (LinkContest_SendBlock(eContestantStatus, CONTESTANT_COUNT * sizeof(struct ContestantStatus)) == 1)
gTasks[taskId].tState++;
}
break;
case 1:
if (LinkContest_GetBlockReceivedFromAllPlayers())
{
- memcpy(eContestantStatus, gBlockRecvBuffer[gUnknown_02039F2B], 4 * sizeof(struct ContestantStatus));
+ memcpy(eContestantStatus, gBlockRecvBuffer[gUnknown_02039F2B], CONTESTANT_COUNT * sizeof(struct ContestantStatus));
gTasks[taskId].tState++;
}
break;
@@ -497,7 +497,7 @@ void sub_80FCE48(u8 taskId)
}
}
-void sub_80FCF40(u8 taskId)
+void Task_LinkContest_CommunicateRound1Points(u8 taskId)
{
if (!sub_80FC670(&gTasks[taskId].data[12]))
return;
@@ -507,14 +507,14 @@ void sub_80FCF40(u8 taskId)
case 0:
if (IsLinkTaskFinished())
{
- if (LinkContest_SendBlock(gContestMonConditions, sizeof(gContestMonConditions)) == 1)
+ if (LinkContest_SendBlock(gContestMonRound1Points, sizeof(gContestMonRound1Points)) == 1)
gTasks[taskId].tState++;
}
break;
case 1:
if (LinkContest_GetBlockReceivedFromAllPlayers())
{
- memcpy(gContestMonConditions, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestMonConditions));
+ memcpy(gContestMonRound1Points, gBlockRecvBuffer[gUnknown_02039F2B], sizeof(gContestMonRound1Points));
gTasks[taskId].tState++;
}
break;
@@ -526,7 +526,7 @@ void sub_80FCF40(u8 taskId)
}
}
-void sub_80FCFD0(u8 taskId)
+void Task_LinkContest_CommunicateTurnOrder(u8 taskId)
{
if (!sub_80FC670(&gTasks[taskId].data[12]))
return;
diff --git a/src/contest_link_util.c b/src/contest_link_util.c
index 221374112..02c94f0ba 100644
--- a/src/contest_link_util.c
+++ b/src/contest_link_util.c
@@ -70,29 +70,30 @@ static void sub_81D9F68(u8 taskId)
u8 i;
u8 rank;
int gameCleared;
- u8 data1[4];
- u8 data2[4];
+ u8 contestCategories[CONTESTANT_COUNT];
+ u8 data2[CONTESTANT_COUNT];
- memset(data1, 0, sizeof(data1));
+ memset(contestCategories, 0, sizeof(contestCategories));
memset(data2, 0, sizeof(data2));
for (i = 0; i < gNumLinkContestPlayers; i++)
- data1[i] = gTasks[taskId].data[i + 1];
+ contestCategories[i] = gTasks[taskId].data[i + 1];
+ // Ensure all players are doing the same category
i = 0;
if (i < gNumLinkContestPlayers)
{
while (++i < gNumLinkContestPlayers)
{
- if (data1[0] != data1[i])
+ if (contestCategories[0] != contestCategories[i])
break;
}
}
if (i == gNumLinkContestPlayers)
- gSpecialVar_0x8004 = 0;
+ gSpecialVar_0x8004 = FALSE;
else
- gSpecialVar_0x8004 = 1;
+ gSpecialVar_0x8004 = TRUE;
for (i = 0; i < gNumLinkContestPlayers; i++)
data2[i] = gTasks[taskId].data[i + 5];
@@ -119,7 +120,7 @@ static void sub_81D9F68(u8 taskId)
}
}
- sub_80DACBC(data1[0], rank, gameCleared);
+ SetLinkAIContestants(contestCategories[0], rank, gameCleared);
}
gUnknown_02039F2B = sub_80F86E0(data2);
@@ -132,13 +133,13 @@ static void sub_81D9F68(u8 taskId)
static void sub_81DA10C(u8 taskId)
{
sub_80DB09C(gSpecialVar_ContestCategory);
- SetTaskFuncWithFollowupFunc(taskId, sub_80FCF40, sub_81DA138);
+ SetTaskFuncWithFollowupFunc(taskId, Task_LinkContest_CommunicateRound1Points, sub_81DA138);
}
static void sub_81DA138(u8 taskId)
{
SortContestants(FALSE);
- SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714);
+ SetTaskFuncWithFollowupFunc(taskId, Task_LinkContest_CommunicateTurnOrder, sub_80F8714);
}
static void sub_81DA160(u8 taskId)
diff --git a/src/contest_util.c b/src/contest_util.c
index 6ad67ee50..1fd3e0482 100644
--- a/src/contest_util.c
+++ b/src/contest_util.c
@@ -1718,7 +1718,7 @@ static void LoadContestResultsTilemaps(void)
// Represented on results board as stars
static u8 GetNumPreliminaryPoints(u8 monIndex, bool8 capPoints)
{
- u32 condition = gContestMonConditions[monIndex] << 16;
+ u32 condition = gContestMonRound1Points[monIndex] << 16;
u32 numStars = condition / 0x3F;
if (numStars & 0xFFFF)
@@ -1966,7 +1966,7 @@ static void CalculateContestantsResultData(void)
for (i = 0; i < CONTESTANT_COUNT; i++)
{
- relativePoints = (gContestMonConditions[i] * 1000) / abs(highestPoints);
+ relativePoints = (gContestMonRound1Points[i] * 1000) / abs(highestPoints);
if (relativePoints % 10 > 4)
relativePoints += 10;
(*sContestResults->monResults)[i].relativePreliminaryPoints = relativePoints / 10;
@@ -2206,7 +2206,7 @@ void TryEnterContestMon(void)
// Nonzero eligibility can still be non-eligibile, if mon is fainted or egg
if (eligibility)
{
- sub_80DAB8C(gSpecialVar_ContestCategory, gSpecialVar_ContestRank);
+ SetContestants(gSpecialVar_ContestCategory, gSpecialVar_ContestRank);
sub_80DB09C(gSpecialVar_ContestCategory);
}
@@ -2324,7 +2324,7 @@ void GetContestMonConditionRanking(void)
for (i = 0, rank = 0; i < CONTESTANT_COUNT; i++)
{
- if (gContestMonConditions[gSpecialVar_0x8006] < gContestMonConditions[i])
+ if (gContestMonRound1Points[gSpecialVar_0x8006] < gContestMonRound1Points[i])
rank++;
}
@@ -2333,7 +2333,7 @@ void GetContestMonConditionRanking(void)
void GetContestMonCondition(void)
{
- gSpecialVar_0x8004 = gContestMonConditions[gSpecialVar_0x8006];
+ gSpecialVar_0x8004 = gContestMonRound1Points[gSpecialVar_0x8006];
}
void GetContestWinnerId(void)
@@ -2472,13 +2472,13 @@ static void sub_80F85BC(u8 taskId)
gUnknown_02039F2B = sub_80F86E0(sp4);
sub_80DB09C(gSpecialVar_ContestCategory);
- SetTaskFuncWithFollowupFunc(taskId, sub_80FCF40, sub_80F86B8);
+ SetTaskFuncWithFollowupFunc(taskId, Task_LinkContest_CommunicateRound1Points, sub_80F86B8);
}
static void sub_80F86B8(u8 taskId)
{
SortContestants(FALSE);
- SetTaskFuncWithFollowupFunc(taskId, sub_80FCFD0, sub_80F8714);
+ SetTaskFuncWithFollowupFunc(taskId, Task_LinkContest_CommunicateTurnOrder, sub_80F8714);
}
u8 sub_80F86E0(u8 *arg0)
diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h
index 53868fc84..e77223d95 100644
--- a/src/data/contest_opponents.h
+++ b/src/data/contest_opponents.h
@@ -183,7 +183,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("POOCHY"),
.trainerName = _("JIMMY"),
.trainerGfxId = OBJ_EVENT_GFX_BOY_1,
- .aiChecks = 0xC000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_20 | CONTEST_AI_DUMMY_21,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -211,7 +211,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("MUSILLE"),
.trainerName = _("EDITH"),
.trainerGfxId = OBJ_EVENT_GFX_GIRL_1,
- .aiChecks = 0x82000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -239,7 +239,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DUSTER"),
.trainerName = _("EVAN"),
.trainerGfxId = OBJ_EVENT_GFX_LITTLE_BOY,
- .aiChecks = 0x21000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -603,7 +603,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BULBY"),
.trainerName = _("AGATHA"),
.trainerGfxId = OBJ_EVENT_GFX_WOMAN_2,
- .aiChecks = 0xC000FFF,
+ .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,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -631,7 +631,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("FUTTERBE"),
.trainerName = _("BEAU"),
.trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC,
- .aiChecks = 0x82000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -659,7 +659,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("PIDEOT"),
.trainerName = _("KAY"),
.trainerGfxId = OBJ_EVENT_GFX_WOMAN_5,
- .aiChecks = 0x21000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23,
.whichRank = CONTEST_RANK_NORMAL,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -883,7 +883,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DUODO"),
.trainerName = _("BOBBY"),
.trainerGfxId = OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M,
- .aiChecks = 0x82000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -1275,7 +1275,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("BROWLO"),
.trainerName = _("LUKE"),
.trainerGfxId = OBJ_EVENT_GFX_FAT_MAN,
- .aiChecks = 0xC000FFF,
+ .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,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1303,7 +1303,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("FETCHIN"),
.trainerName = _("RAUL"),
.trainerGfxId = OBJ_EVENT_GFX_MAN_5,
- .aiChecks = 0x82000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -1331,7 +1331,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SEELEY"),
.trainerName = _("JADA"),
.trainerGfxId = OBJ_EVENT_GFX_WOMAN_2,
- .aiChecks = 0x21000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23,
.whichRank = CONTEST_RANK_SUPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = TRUE,
@@ -1555,7 +1555,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("SHIFTY"),
.trainerName = _("CLAUDIA"),
.trainerGfxId = OBJ_EVENT_GFX_GIRL_1,
- .aiChecks = 0x82000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -1947,7 +1947,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("EGGSOR"),
.trainerName = _("GRACIE"),
.trainerGfxId = OBJ_EVENT_GFX_PICNICKER,
- .aiChecks = 0xC000FFF,
+ .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,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -1975,7 +1975,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("CUBIN"),
.trainerName = _("COLTIN"),
.trainerGfxId = OBJ_EVENT_GFX_MAN_4,
- .aiChecks = 0x82000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = FALSE,
.aiPool_Beauty = FALSE,
@@ -2003,7 +2003,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("HITMON"),
.trainerName = _("ELLIE"),
.trainerGfxId = OBJ_EVENT_GFX_EXPERT_F,
- .aiChecks = 0x21000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23,
.whichRank = CONTEST_RANK_HYPER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2227,7 +2227,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("LOUDERD"),
.trainerName = _("RALPH"),
.trainerGfxId = OBJ_EVENT_GFX_EXPERT_M,
- .aiChecks = 0x82000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2619,7 +2619,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GAREN"),
.trainerName = _("CAMILE"),
.trainerGfxId = OBJ_EVENT_GFX_HEX_MANIAC,
- .aiChecks = 0xC000FFF,
+ .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,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
@@ -2647,7 +2647,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("GONPOR"),
.trainerName = _("MARTIN"),
.trainerGfxId = OBJ_EVENT_GFX_SCIENTIST_1,
- .aiChecks = 0x82000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_19 | CONTEST_AI_DUMMY_25,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = TRUE,
@@ -2675,7 +2675,7 @@ const struct ContestPokemon gContestOpponents[] =
.nickname = _("DRITE"),
.trainerName = _("SERGIO"),
.trainerGfxId = OBJ_EVENT_GFX_BOY_1,
- .aiChecks = 0x21000FFF,
+ .aiChecks = CONTEST_AI_ALL | CONTEST_AI_DUMMIES_1 | CONTEST_AI_DUMMY_18 | CONTEST_AI_DUMMY_23,
.whichRank = CONTEST_RANK_MASTER,
.aiPool_Cool = TRUE,
.aiPool_Beauty = FALSE,
diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c
index a6ab1693b..89029210b 100755
--- a/src/script_pokemon_util_80F87D8.c
+++ b/src/script_pokemon_util_80F87D8.c
@@ -158,7 +158,7 @@ void sub_80F8970(void)
u8 r7;
for (i = 0; i < CONTESTANT_COUNT; i++)
- conditions[i] = gContestMonConditions[i];
+ conditions[i] = gContestMonRound1Points[i];
for (i = 0; i < CONTESTANT_COUNT - 1; i++)
{
@@ -195,7 +195,7 @@ void sub_80F8970(void)
var2 = r8;
for (i = 0; i < CONTESTANT_COUNT; i++)
{
- if (condition == gContestMonConditions[i])
+ if (condition == gContestMonRound1Points[i])
{
if (var2 == 1)
break;