summaryrefslogtreecommitdiff
path: root/src/contest_ai.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/contest_ai.c')
-rwxr-xr-xsrc/contest_ai.c205
1 files changed, 205 insertions, 0 deletions
diff --git a/src/contest_ai.c b/src/contest_ai.c
index 7c704be0a..037564a9b 100755
--- a/src/contest_ai.c
+++ b/src/contest_ai.c
@@ -6,6 +6,7 @@
extern u8 AreMovesContestCombo(u16, u16);
extern bool8 sub_8128A7C(u8);
extern bool8 sub_80B214C(u8);
+extern bool8 Contest_IsMonsTurnDisabled(u8);
enum
{
@@ -975,3 +976,207 @@ void ContestAICmd_unk_52(void)
else
gAIScriptPtr += 5;
}
+
+void ContestAICmd_check_can_participate(void)
+{
+ if(Contest_IsMonsTurnDisabled(sub_8128A7C(gAIScriptPtr[1])))
+ eContestAI->scriptResult = FALSE;
+ else
+ eContestAI->scriptResult = TRUE;
+
+ gAIScriptPtr += 2;
+}
+
+void ContestAICmd_unk_54(void)
+{
+ ContestAICmd_check_can_participate();
+
+ if((s16)eContestAI->scriptResult != 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_55(void)
+{
+ ContestAICmd_check_can_participate();
+
+ if((s16)eContestAI->scriptResult == 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_get_val_812A188(void)
+{
+ u8 var = sub_8128A7C(gAIScriptPtr[1]);
+
+ eContestAI->scriptResult = sContestantStatus[var].unk15_3;
+ gAIScriptPtr += 2;
+}
+
+void ContestAICmd_unk_57(void)
+{
+ ContestAICmd_get_val_812A188();
+
+ if((s16)eContestAI->scriptResult != 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_58(void)
+{
+ ContestAICmd_get_val_812A188();
+
+ if((s16)eContestAI->scriptResult == 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_59(void)
+{
+ u8 var = sub_8128A7C(gAIScriptPtr[1]);
+
+ eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->unk41].unk4;
+ gAIScriptPtr += 2;
+}
+
+void ContestAICmd_unk_5A(void)
+{
+ ContestAICmd_unk_59();
+
+ if((s16)eContestAI->scriptResult < 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_5B(void)
+{
+ ContestAICmd_unk_59();
+
+ if((s16)eContestAI->scriptResult > 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_5C(void)
+{
+ ContestAICmd_unk_59();
+
+ if((s16)eContestAI->scriptResult == 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_5D(void)
+{
+ ContestAICmd_unk_59();
+
+ if((s16)eContestAI->scriptResult != 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_5E(void)
+{
+ u8 var = sub_8128A7C(gAIScriptPtr[1]);
+
+ eContestAI->scriptResult = gUnknown_02038670[var] - gUnknown_02038670[eContestAI->unk41];
+ gAIScriptPtr += 2;
+}
+
+void ContestAICmd_unk_5F(void)
+{
+ ContestAICmd_unk_5E();
+
+ if((s16)eContestAI->scriptResult < 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_60(void)
+{
+ ContestAICmd_unk_5E();
+
+ if((s16)eContestAI->scriptResult > 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_61(void)
+{
+ ContestAICmd_unk_5E();
+
+ if((s16)eContestAI->scriptResult == 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_62(void)
+{
+ ContestAICmd_unk_5E();
+
+ if((s16)eContestAI->scriptResult != 0)
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
+ else
+ gAIScriptPtr += 4;
+}
+
+void ContestAICmd_unk_63(void)
+{
+ u8 var = sub_8128A7C(gAIScriptPtr[1]);
+ u8 var2 = gAIScriptPtr[2];
+ u16 move = sContest.unk19220[var2][var];
+
+ eContestAI->scriptResult = gContestMoves[move].effect;
+ gAIScriptPtr += 3;
+}
+
+void ContestAICmd_unk_64(void)
+{
+ ContestAICmd_unk_63();
+
+ if((s16)eContestAI->scriptResult < gAIScriptPtr[0])
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
+ else
+ gAIScriptPtr += 5;
+}
+
+void ContestAICmd_unk_65(void)
+{
+ ContestAICmd_unk_63();
+
+ if((s16)eContestAI->scriptResult > gAIScriptPtr[0])
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
+ else
+ gAIScriptPtr += 5;
+}
+
+void ContestAICmd_unk_66(void)
+{
+ ContestAICmd_unk_63();
+
+ if((s16)eContestAI->scriptResult == gAIScriptPtr[0])
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
+ else
+ gAIScriptPtr += 5;
+}
+
+void ContestAICmd_unk_67(void)
+{
+ ContestAICmd_unk_63();
+
+ if((s16)eContestAI->scriptResult != gAIScriptPtr[0])
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
+ else
+ gAIScriptPtr += 5;
+}