diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/contest.c | 14 | ||||
-rw-r--r-- | src/contest_effect.c | 62 |
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); +} |