summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/contest.c14
-rw-r--r--src/contest_effect.c62
2 files changed, 67 insertions, 9 deletions
diff --git a/src/contest.c b/src/contest.c
index c27844beb..77455e882 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -4625,12 +4625,12 @@ void sub_80B114C(u8 contestant)
}
}
-void sub_80B13EC(u8 a, u8 b)
+void SetContestantStatusUnk13(u8 a, u8 b)
{
sContestantStatus[a].unk13 = b;
}
-void sub_80B1404(u8 a, u8 b)
+void SetContestantStatusUnk14(u8 a, u8 b)
{
sContestantStatus[a].unk14 = b;
}
@@ -4638,15 +4638,15 @@ void sub_80B1404(u8 a, u8 b)
void sub_80B141C(u8 a, u8 b)
{
if (b >= 60)
- sub_80B13EC(a, 53);
+ SetContestantStatusUnk13(a, 53);
else if (b >= 40)
- sub_80B13EC(a, 52);
+ SetContestantStatusUnk13(a, 52);
else if (b >= 30)
- sub_80B13EC(a, 51);
+ SetContestantStatusUnk13(a, 51);
else if (b >= 20)
- sub_80B13EC(a, 50);
+ SetContestantStatusUnk13(a, 50);
else if (b >= 10)
- sub_80B13EC(a, 49);
+ SetContestantStatusUnk13(a, 49);
}
void sub_80B146C(u8 a, u8 b)
diff --git a/src/contest_effect.c b/src/contest_effect.c
index f1606517b..abc630dd8 100644
--- a/src/contest_effect.c
+++ b/src/contest_effect.c
@@ -2,8 +2,12 @@
#include "ewram.h"
#include "contest.h"
+u8 sub_80B9120(void);
+
extern bool8 const gComboStarterLookupTable[];
+#define curContestant (&sContestantStatus[shared192D0.unk11])
+
bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) {
u8 nextMoveComboMoves[4];
u8 lastMoveComboStarterId = gContestMoves[lastMove].comboStarterId;
@@ -27,7 +31,61 @@ void ContestEffect_00(void)
void ContestEffect_01(void)
{
- sContestantStatus[shared192D0.unk11].unk10_2 = TRUE;
- sub_80B13EC(shared192D0.unk11, 0);
+ curContestant->unk10_2 = TRUE;
+ SetContestantStatusUnk13(shared192D0.unk11, 0);
+}
+
+void ContestEffect_02(void)
+{
+ curContestant->unk11_3 = TRUE;
+ SetContestantStatusUnk13(shared192D0.unk11, 1);
+}
+
+void ContestEffect_03(void)
+{
+ curContestant->unk10_3 = TRUE;
+ curContestant->disappointedRepeat = FALSE;
+ curContestant->moveRepeatCount = 0;
+}
+
+void ContestEffect_04(void)
+{
+ curContestant->unk12 = 1;
+ SetContestantStatusUnk13(shared192D0.unk11, 2);
}
+void ContestEffect_05(void)
+{
+ curContestant->unk10_1 = TRUE;
+ SetContestantStatusUnk13(shared192D0.unk11, 3);
+}
+
+void ContestEffect_06(void)
+{
+ curContestant->unkF = 20;
+ SetContestantStatusUnk13(shared192D0.unk11, 4);
+}
+
+void ContestEffect_07(void)
+{
+ curContestant->unk10_0 = TRUE;
+ SetContestantStatusUnk13(shared192D0.unk11, 5);
+}
+
+void ContestEffect_08(void)
+{
+ u8 idx = 0;
+ u8 a = shared192D0.unk11;
+
+ if (shared192D0.unk0[a] != 0) {
+ int i;
+ for (i = 0; i < 4 && shared192D0.unk0[a] - 1 != shared192D0.unk0[i]; i++)
+ ;
+ shared192D0.unk8 = i;
+ shared192D0.unk9 = 0xFF;
+ idx = sub_80B9120();
+ }
+ if (idx == 0)
+ SetContestantStatusUnk14(shared192D0.unk11, 0x36);
+ SetContestantStatusUnk13(shared192D0.unk11, 48);
+}