summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/contest.c8
-rw-r--r--src/contest_ai.c713
-rw-r--r--src/contest_effect.c5
3 files changed, 369 insertions, 357 deletions
diff --git a/src/contest.c b/src/contest.c
index a015c5bab..32a8675e5 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -3490,7 +3490,7 @@ static bool8 ContestantCanUseTurn(u8 contestant)
return TRUE;
}
-static void ResetContestantStatuses(void)
+static void SetContestantStatusesForNextRound(void)
{
s32 i;
@@ -4483,7 +4483,7 @@ static void CalculateAppealMoveImpact(u8 contestant)
eContestantStatus[contestant].usedComboMove = TRUE;
eContestantStatus[contestant].hasJudgesAttention = FALSE;
eContestantStatus[contestant].comboAppealBonus = eContestantStatus[contestant].baseAppeal * eContestantStatus[contestant].completedCombo;
- eContestantStatus[contestant].unk15_3 = TRUE;
+ eContestantStatus[contestant].completedComboFlag = TRUE; // Redundant with completedCombo, used by AI
}
else
{
@@ -5172,7 +5172,7 @@ static void Task_ResetForNextRound(u8 taskId)
eContest.waitForLink = TRUE;
if (IsPlayerLinkLeader())
- ResetContestantStatuses();
+ SetContestantStatusesForNextRound();
taskId2 = CreateTask(Task_LinkContest_CommunicateAppealsState, 0);
SetTaskFuncWithFollowupFunc(taskId2, Task_LinkContest_CommunicateAppealsState, Task_EndWaitForLink);
ContestPrintLinkStandby();
@@ -5180,7 +5180,7 @@ static void Task_ResetForNextRound(u8 taskId)
}
else
{
- ResetContestantStatuses();
+ SetContestantStatusesForNextRound();
gTasks[taskId].data[0] = 3;
}
break;
diff --git a/src/contest_ai.c b/src/contest_ai.c
index b5e91c314..463553998 100644
--- a/src/contest_ai.c
+++ b/src/contest_ai.c
@@ -30,22 +30,22 @@ static void ContestAICmd_if_user_condition_less_than(void);
static void ContestAICmd_if_user_condition_more_than(void);
static void ContestAICmd_if_user_condition_eq(void);
static void ContestAICmd_if_user_condition_not_eq(void);
-static void ContestAICmd_unk_15(void);
-static void ContestAICmd_unk_16(void);
-static void ContestAICmd_unk_17(void);
-static void ContestAICmd_unk_18(void);
-static void ContestAICmd_unk_19(void);
-static void ContestAICmd_unk_1A(void);
-static void ContestAICmd_unk_1B(void);
-static void ContestAICmd_unk_1C(void);
-static void ContestAICmd_unk_1D(void);
-static void ContestAICmd_unk_1E(void);
+static void ContestAICmd_get_points(void);
+static void ContestAICmd_if_points_less_than(void);
+static void ContestAICmd_if_points_more_than(void);
+static void ContestAICmd_if_points_eq(void);
+static void ContestAICmd_if_points_not_eq(void);
+static void ContestAICmd_get_preliminary_points(void);
+static void ContestAICmd_if_preliminary_points_less_than(void);
+static void ContestAICmd_if_preliminary_points_more_than(void);
+static void ContestAICmd_if_preliminary_points_eq(void);
+static void ContestAICmd_if_preliminary_points_not_eq(void);
static void ContestAICmd_get_contest_type(void);
static void ContestAICmd_if_contest_type_eq(void);
static void ContestAICmd_if_contest_type_not_eq(void);
static void ContestAICmd_get_move_excitement(void);
static void ContestAICmd_if_move_excitement_less_than(void);
-static void ContestAICmd_if_move_excitement_greater_than(void);
+static void ContestAICmd_if_move_excitement_more_than(void);
static void ContestAICmd_if_move_excitement_eq(void);
static void ContestAICmd_if_move_excitement_not_eq(void);
static void ContestAICmd_get_move_effect(void);
@@ -56,18 +56,18 @@ static void ContestAICmd_if_move_effect_type_eq(void);
static void ContestAICmd_if_move_effect_type_not_eq(void);
static void ContestAICmd_check_most_appealing_move(void);
static void ContestAICmd_if_most_appealing_move(void);
-static void ContestAICmd_unk_2F(void);
-static void ContestAICmd_unk_30(void);
-static void ContestAICmd_unk_31(void);
-static void ContestAICmd_unk_32(void);
-static void ContestAICmd_unk_33(void);
-static void ContestAICmd_unk_34(void);
-static void ContestAICmd_unk_35(void);
-static void ContestAICmd_unk_36(void);
-static void ContestAICmd_unk_37(void);
-static void ContestAICmd_unk_38(void);
-static void ContestAICmd_unk_39(void);
-static void ContestAICmd_unk_3A(void);
+static void ContestAICmd_check_most_jamming_move(void);
+static void ContestAICmd_if_most_jamming_move(void);
+static void ContestAICmd_get_num_move_hearts(void);
+static void ContestAICmd_if_num_move_hearts_less_than(void);
+static void ContestAICmd_if_num_move_hearts_more_than(void);
+static void ContestAICmd_if_num_move_hearts_eq(void);
+static void ContestAICmd_if_num_move_hearts_not_eq(void);
+static void ContestAICmd_get_num_move_jam_hearts(void);
+static void ContestAICmd_if_num_move_jam_hearts_less_than(void);
+static void ContestAICmd_if_num_move_jam_hearts_more_than(void);
+static void ContestAICmd_if_num_move_jam_hearts_eq(void);
+static void ContestAICmd_if_num_move_jam_hearts_not_eq(void);
static void ContestAICmd_get_move_used_count(void);
static void ContestAICmd_if_most_used_count_less_than(void);
static void ContestAICmd_if_most_used_count_more_than(void);
@@ -95,197 +95,197 @@ static void ContestAICmd_if_used_combo_starter_not_eq(void);
static void ContestAICmd_check_can_participate(void);
static void ContestAICmd_if_can_participate(void);
static void ContestAICmd_if_cannot_participate(void);
-static void ContestAICmd_get_val_812A188(void);
-static void ContestAICmd_unk_57(void);
-static void ContestAICmd_contest_58(void);
-static void ContestAICmd_unk_59(void);
-static void ContestAICmd_unk_5A(void);
-static void ContestAICmd_unk_5B(void);
-static void ContestAICmd_unk_5C(void);
-static void ContestAICmd_unk_5D(void);
-static void ContestAICmd_unk_5E(void);
-static void ContestAICmd_unk_5F(void);
-static void ContestAICmd_unk_60(void);
-static void ContestAICmd_unk_61(void);
-static void ContestAICmd_unk_62(void);
-static void ContestAICmd_unk_63(void);
-static void ContestAICmd_unk_64(void);
-static void ContestAICmd_unk_65(void);
-static void ContestAICmd_unk_66(void);
-static void ContestAICmd_unk_67(void);
-static void ContestAICmd_unk_68(void);
-static void ContestAICmd_unk_69(void);
-static void ContestAICmd_unk_6A(void);
-static void ContestAICmd_unk_6B(void);
-static void ContestAICmd_unk_6C(void);
-static void ContestAICmd_unk_6D(void);
-static void ContestAICmd_unk_6E(void);
-static void ContestAICmd_unk_6F(void);
-static void ContestAICmd_unk_70(void);
-static void ContestAICmd_unk_71(void);
-static void ContestAICmd_unk_72(void);
-static void ContestAICmd_unk_73(void);
-static void ContestAICmd_unk_74(void);
-static void ContestAICmd_unk_75(void);
-static void ContestAICmd_unk_76(void);
-static void ContestAICmd_unk_77(void);
-static void ContestAICmd_unk_78(void);
-static void ContestAICmd_unk_79(void);
-static void ContestAICmd_unk_7A(void);
-static void ContestAICmd_unk_7B(void);
-static void ContestAICmd_unk_7C(void);
-static void ContestAICmd_if_random(void);
-static void ContestAICmd_unk_7E(void);
-static void ContestAICmd_jump(void);
+static void ContestAICmd_get_completed_combo(void);
+static void ContestAICmd_if_completed_combo(void);
+static void ContestAICmd_if_not_completed_combo(void);
+static void ContestAICmd_get_points_diff(void);
+static void ContestAICmd_if_points_more_than_mon(void);
+static void ContestAICmd_if_points_less_than_mon(void);
+static void ContestAICmd_if_points_eq_mon(void);
+static void ContestAICmd_if_points_not_eq_mon(void);
+static void ContestAICmd_get_preliminary_points_diff(void);
+static void ContestAICmd_if_preliminary_points_more_than_mon(void);
+static void ContestAICmd_if_preliminary_points_less_than_mon(void);
+static void ContestAICmd_if_preliminary_points_eq_mon(void);
+static void ContestAICmd_if_preliminary_points_not_eq_mon(void);
+static void ContestAICmd_get_used_moves_effect(void);
+static void ContestAICmd_if_used_moves_effect_less_than(void);
+static void ContestAICmd_if_used_moves_effect_more_than(void);
+static void ContestAICmd_if_used_moves_effect_eq(void);
+static void ContestAICmd_if_used_moves_effect_not_eq(void);
+static void ContestAICmd_get_used_moves_excitement(void);
+static void ContestAICmd_if_used_moves_excitement_less_than(void);
+static void ContestAICmd_if_used_moves_excitement_more_than(void);
+static void ContestAICmd_if_used_moves_excitement_eq(void);
+static void ContestAICmd_if_used_moves_excitement_not_eq(void);
+static void ContestAICmd_get_used_moves_effect_type(void);
+static void ContestAICmd_if_used_moves_effect_type_eq(void);
+static void ContestAICmd_if_used_moves_effect_type_not_eq(void);
+static void ContestAICmd_save_result(void);
+static void ContestAICmd_setvar(void);
+static void ContestAICmd_add(void);
+static void ContestAICmd_addvar(void);
+static void ContestAICmd_addvar_duplicate(void);
+static void ContestAICmd_if_less_than(void);
+static void ContestAICmd_if_greater_than(void);
+static void ContestAICmd_if_eq(void);
+static void ContestAICmd_if_not_eq(void);
+static void ContestAICmd_if_less_than_var(void);
+static void ContestAICmd_if_greater_than_var(void);
+static void ContestAICmd_if_eq_var(void);
+static void ContestAICmd_if_not_eq_var(void);
+static void ContestAICmd_if_random_less_than(void);
+static void ContestAICmd_if_random_greater_than(void);
+static void ContestAICmd_goto(void);
static void ContestAICmd_call(void);
static void ContestAICmd_end(void);
static void ContestAICmd_check_user_has_exciting_move(void);
static void ContestAICmd_if_user_has_exciting_move(void);
static void ContestAICmd_if_user_doesnt_have_exciting_move(void);
-static void ContestAICmd_unk_85(void);
-static void ContestAICmd_unk_86(void);
+static void ContestAICmd_check_user_has_move(void);
+static void ContestAICmd_if_user_has_move(void);
static void ContestAICmd_if_effect_in_user_moveset(void);
typedef void (* ContestAICmdFunc)(void);
static const ContestAICmdFunc sContestAICmdTable[] =
{
- ContestAICmd_score, // 0x00
- 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
- ContestAICmd_if_excitement_eq, // 0x09
- ContestAICmd_if_excitement_not_eq, // 0x0A
- ContestAICmd_get_user_order, // 0x0B
- ContestAICmd_if_user_order_less_than, // 0x0C
- ContestAICmd_if_user_order_more_than, // 0x0D
- ContestAICmd_if_user_order_eq, // 0x0E
- ContestAICmd_if_user_order_not_eq, // 0x0F
- ContestAICmd_get_user_condition, // 0x10
- ContestAICmd_if_user_condition_less_than, // 0x11
- ContestAICmd_if_user_condition_more_than, // 0x12
- ContestAICmd_if_user_condition_eq, // 0x13
- ContestAICmd_if_user_condition_not_eq, // 0x14
- ContestAICmd_unk_15, // 0x15
- ContestAICmd_unk_16, // 0x16
- ContestAICmd_unk_17, // 0x17
- ContestAICmd_unk_18, // 0x18
- ContestAICmd_unk_19, // 0x19
- ContestAICmd_unk_1A, // 0x1A
- ContestAICmd_unk_1B, // 0x1B
- ContestAICmd_unk_1C, // 0x1C
- ContestAICmd_unk_1D, // 0x1D
- ContestAICmd_unk_1E, // 0x1E
- ContestAICmd_get_contest_type, // 0x1F
- ContestAICmd_if_contest_type_eq, // 0x20
- ContestAICmd_if_contest_type_not_eq, // 0x21
- ContestAICmd_get_move_excitement, // 0x22
- ContestAICmd_if_move_excitement_less_than, // 0x23
- ContestAICmd_if_move_excitement_greater_than, // 0x24
- ContestAICmd_if_move_excitement_eq, // 0x25
- ContestAICmd_if_move_excitement_not_eq, // 0x26
- ContestAICmd_get_move_effect, // 0x27
- ContestAICmd_if_move_effect_eq, // 0x28
- ContestAICmd_if_move_effect_not_eq, // 0x29
- ContestAICmd_get_move_effect_type, // 0x2A
- ContestAICmd_if_move_effect_type_eq, // 0x2B
- ContestAICmd_if_move_effect_type_not_eq, // 0x2C
- ContestAICmd_check_most_appealing_move, // 0x2D
- ContestAICmd_if_most_appealing_move, // 0x2E
- ContestAICmd_unk_2F, // 0x2F
- ContestAICmd_unk_30, // 0x30
- ContestAICmd_unk_31, // 0x31
- ContestAICmd_unk_32, // 0x32
- ContestAICmd_unk_33, // 0x33
- ContestAICmd_unk_34, // 0x34
- ContestAICmd_unk_35, // 0x35
- ContestAICmd_unk_36, // 0x36
- ContestAICmd_unk_37, // 0x37
- ContestAICmd_unk_38, // 0x38
- ContestAICmd_unk_39, // 0x39
- ContestAICmd_unk_3A, // 0x3A
- ContestAICmd_get_move_used_count, // 0x3B
- ContestAICmd_if_most_used_count_less_than, // 0x3C
- ContestAICmd_if_most_used_count_more_than, // 0x3D
- ContestAICmd_if_most_used_count_eq, // 0x3E
- ContestAICmd_if_most_used_count_not_eq, // 0x3F
- ContestAICmd_check_combo_starter, // 0x40
- ContestAICmd_if_combo_starter, // 0x41
- ContestAICmd_if_not_combo_starter, // 0x42
- ContestAICmd_check_combo_finisher, // 0x43
- ContestAICmd_if_combo_finisher, // 0x44
- ContestAICmd_if_not_combo_finisher, // 0x45
- ContestAICmd_check_would_finish_combo, // 0x46
- ContestAICmd_if_would_finish_combo, // 0x47
- ContestAICmd_if_would_not_finish_combo, // 0x48
- ContestAICmd_get_condition, // 0x49
- ContestAICmd_if_condition_less_than, // 0x4A
- ContestAICmd_if_condition_more_than, // 0x4B
- ContestAICmd_if_condition_eq, // 0x4C
- ContestAICmd_if_condition_not_eq, // 0x4D
- ContestAICmd_get_used_combo_starter, // 0x4E
- ContestAICmd_if_used_combo_starter_less_than, // 0x4F
- ContestAICmd_if_used_combo_starter_more_than, // 0x50
- ContestAICmd_if_used_combo_starter_eq, // 0x51
- ContestAICmd_if_used_combo_starter_not_eq, // 0x52
- ContestAICmd_check_can_participate, // 0x53
- ContestAICmd_if_can_participate, // 0x54
- ContestAICmd_if_cannot_participate, // 0x55
- ContestAICmd_get_val_812A188, // 0x56
- ContestAICmd_unk_57, // 0x57
- ContestAICmd_contest_58, // 0x58
- ContestAICmd_unk_59, // 0x59
- ContestAICmd_unk_5A, // 0x5A
- ContestAICmd_unk_5B, // 0x5B
- ContestAICmd_unk_5C, // 0x5C
- ContestAICmd_unk_5D, // 0x5D
- ContestAICmd_unk_5E, // 0x5E
- ContestAICmd_unk_5F, // 0x5F
- ContestAICmd_unk_60, // 0x60
- ContestAICmd_unk_61, // 0x61
- ContestAICmd_unk_62, // 0x62
- ContestAICmd_unk_63, // 0x63
- ContestAICmd_unk_64, // 0x64
- ContestAICmd_unk_65, // 0x65
- ContestAICmd_unk_66, // 0x66
- ContestAICmd_unk_67, // 0x67
- ContestAICmd_unk_68, // 0x68
- ContestAICmd_unk_69, // 0x69
- ContestAICmd_unk_6A, // 0x6A
- ContestAICmd_unk_6B, // 0x6B
- ContestAICmd_unk_6C, // 0x6C
- ContestAICmd_unk_6D, // 0x6D
- ContestAICmd_unk_6E, // 0x6E
- ContestAICmd_unk_6F, // 0x6F
- ContestAICmd_unk_70, // 0x70
- ContestAICmd_unk_71, // 0x71
- ContestAICmd_unk_72, // 0x72
- ContestAICmd_unk_73, // 0x73
- ContestAICmd_unk_74, // 0x74
- ContestAICmd_unk_75, // 0x75
- ContestAICmd_unk_76, // 0x76
- ContestAICmd_unk_77, // 0x77
- ContestAICmd_unk_78, // 0x78
- ContestAICmd_unk_79, // 0x79
- ContestAICmd_unk_7A, // 0x7A
- ContestAICmd_unk_7B, // 0x7B
- ContestAICmd_unk_7C, // 0x7C
- ContestAICmd_if_random, // 0x7D
- ContestAICmd_unk_7E, // 0x7E
- ContestAICmd_jump, // 0x7F
- ContestAICmd_call, // 0x80
- ContestAICmd_end, // 0x81
- ContestAICmd_check_user_has_exciting_move, // 0x82
- ContestAICmd_if_user_has_exciting_move, // 0x83
- ContestAICmd_if_user_doesnt_have_exciting_move, // 0x84
- ContestAICmd_unk_85, // 0x85
- ContestAICmd_unk_86, // 0x86
- ContestAICmd_if_effect_in_user_moveset, // 0x87
+ ContestAICmd_score, // 0x00
+ 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
+ ContestAICmd_if_excitement_eq, // 0x09
+ ContestAICmd_if_excitement_not_eq, // 0x0A
+ ContestAICmd_get_user_order, // 0x0B
+ ContestAICmd_if_user_order_less_than, // 0x0C
+ ContestAICmd_if_user_order_more_than, // 0x0D
+ ContestAICmd_if_user_order_eq, // 0x0E
+ ContestAICmd_if_user_order_not_eq, // 0x0F
+ ContestAICmd_get_user_condition, // 0x10
+ ContestAICmd_if_user_condition_less_than, // 0x11
+ ContestAICmd_if_user_condition_more_than, // 0x12
+ ContestAICmd_if_user_condition_eq, // 0x13
+ ContestAICmd_if_user_condition_not_eq, // 0x14
+ ContestAICmd_get_points, // 0x15
+ ContestAICmd_if_points_less_than, // 0x16
+ ContestAICmd_if_points_more_than, // 0x17
+ ContestAICmd_if_points_eq, // 0x18
+ ContestAICmd_if_points_not_eq, // 0x19
+ ContestAICmd_get_preliminary_points, // 0x1A
+ ContestAICmd_if_preliminary_points_less_than, // 0x1B
+ ContestAICmd_if_preliminary_points_more_than, // 0x1C
+ ContestAICmd_if_preliminary_points_eq, // 0x1D
+ ContestAICmd_if_preliminary_points_not_eq, // 0x1E
+ ContestAICmd_get_contest_type, // 0x1F
+ ContestAICmd_if_contest_type_eq, // 0x20
+ ContestAICmd_if_contest_type_not_eq, // 0x21
+ ContestAICmd_get_move_excitement, // 0x22
+ ContestAICmd_if_move_excitement_less_than, // 0x23
+ ContestAICmd_if_move_excitement_more_than, // 0x24
+ ContestAICmd_if_move_excitement_eq, // 0x25
+ ContestAICmd_if_move_excitement_not_eq, // 0x26
+ ContestAICmd_get_move_effect, // 0x27
+ ContestAICmd_if_move_effect_eq, // 0x28
+ ContestAICmd_if_move_effect_not_eq, // 0x29
+ ContestAICmd_get_move_effect_type, // 0x2A
+ ContestAICmd_if_move_effect_type_eq, // 0x2B
+ ContestAICmd_if_move_effect_type_not_eq, // 0x2C
+ ContestAICmd_check_most_appealing_move, // 0x2D
+ ContestAICmd_if_most_appealing_move, // 0x2E
+ ContestAICmd_check_most_jamming_move, // 0x2F
+ ContestAICmd_if_most_jamming_move, // 0x30
+ ContestAICmd_get_num_move_hearts, // 0x31
+ ContestAICmd_if_num_move_hearts_less_than, // 0x32
+ ContestAICmd_if_num_move_hearts_more_than, // 0x33
+ ContestAICmd_if_num_move_hearts_eq, // 0x34
+ ContestAICmd_if_num_move_hearts_not_eq, // 0x35
+ ContestAICmd_get_num_move_jam_hearts, // 0x36
+ ContestAICmd_if_num_move_jam_hearts_less_than, // 0x37
+ ContestAICmd_if_num_move_jam_hearts_more_than, // 0x38
+ ContestAICmd_if_num_move_jam_hearts_eq, // 0x39
+ ContestAICmd_if_num_move_jam_hearts_not_eq, // 0x3A
+ ContestAICmd_get_move_used_count, // 0x3B
+ ContestAICmd_if_most_used_count_less_than, // 0x3C
+ ContestAICmd_if_most_used_count_more_than, // 0x3D
+ ContestAICmd_if_most_used_count_eq, // 0x3E
+ ContestAICmd_if_most_used_count_not_eq, // 0x3F
+ ContestAICmd_check_combo_starter, // 0x40
+ ContestAICmd_if_combo_starter, // 0x41
+ ContestAICmd_if_not_combo_starter, // 0x42
+ ContestAICmd_check_combo_finisher, // 0x43
+ ContestAICmd_if_combo_finisher, // 0x44
+ ContestAICmd_if_not_combo_finisher, // 0x45
+ ContestAICmd_check_would_finish_combo, // 0x46
+ ContestAICmd_if_would_finish_combo, // 0x47
+ ContestAICmd_if_would_not_finish_combo, // 0x48
+ ContestAICmd_get_condition, // 0x49
+ ContestAICmd_if_condition_less_than, // 0x4A
+ ContestAICmd_if_condition_more_than, // 0x4B
+ ContestAICmd_if_condition_eq, // 0x4C
+ ContestAICmd_if_condition_not_eq, // 0x4D
+ ContestAICmd_get_used_combo_starter, // 0x4E
+ ContestAICmd_if_used_combo_starter_less_than, // 0x4F
+ ContestAICmd_if_used_combo_starter_more_than, // 0x50
+ ContestAICmd_if_used_combo_starter_eq, // 0x51
+ ContestAICmd_if_used_combo_starter_not_eq, // 0x52
+ ContestAICmd_check_can_participate, // 0x53
+ ContestAICmd_if_can_participate, // 0x54
+ ContestAICmd_if_cannot_participate, // 0x55
+ ContestAICmd_get_completed_combo, // 0x56
+ ContestAICmd_if_completed_combo, // 0x57
+ ContestAICmd_if_not_completed_combo, // 0x58
+ ContestAICmd_get_points_diff, // 0x59
+ ContestAICmd_if_points_more_than_mon, // 0x5A
+ ContestAICmd_if_points_less_than_mon, // 0x5B
+ ContestAICmd_if_points_eq_mon, // 0x5C
+ ContestAICmd_if_points_not_eq_mon, // 0x5D
+ ContestAICmd_get_preliminary_points_diff, // 0x5E
+ ContestAICmd_if_preliminary_points_more_than_mon, // 0x5F
+ ContestAICmd_if_preliminary_points_less_than_mon, // 0x60
+ ContestAICmd_if_preliminary_points_eq_mon, // 0x61
+ ContestAICmd_if_preliminary_points_not_eq_mon, // 0x62
+ ContestAICmd_get_used_moves_effect, // 0x63
+ ContestAICmd_if_used_moves_effect_less_than, // 0x64
+ ContestAICmd_if_used_moves_effect_more_than, // 0x65
+ ContestAICmd_if_used_moves_effect_eq, // 0x66
+ ContestAICmd_if_used_moves_effect_not_eq, // 0x67
+ ContestAICmd_get_used_moves_excitement, // 0x68
+ ContestAICmd_if_used_moves_excitement_less_than, // 0x69
+ ContestAICmd_if_used_moves_excitement_more_than, // 0x6A
+ ContestAICmd_if_used_moves_excitement_eq, // 0x6B
+ ContestAICmd_if_used_moves_excitement_not_eq, // 0x6C
+ ContestAICmd_get_used_moves_effect_type, // 0x6D
+ ContestAICmd_if_used_moves_effect_type_eq, // 0x6E
+ ContestAICmd_if_used_moves_effect_type_not_eq, // 0x6F
+ ContestAICmd_save_result, // 0x70
+ ContestAICmd_setvar, // 0x71
+ ContestAICmd_add, // 0x72
+ ContestAICmd_addvar, // 0x73
+ ContestAICmd_addvar_duplicate, // 0x74
+ ContestAICmd_if_less_than, // 0x75
+ ContestAICmd_if_greater_than, // 0x76
+ ContestAICmd_if_eq, // 0x77
+ ContestAICmd_if_not_eq, // 0x78
+ ContestAICmd_if_less_than_var, // 0x79
+ ContestAICmd_if_greater_than_var, // 0x7A
+ ContestAICmd_if_eq_var, // 0x7B
+ ContestAICmd_if_not_eq_var, // 0x7C
+ ContestAICmd_if_random_less_than, // 0x7D
+ ContestAICmd_if_random_greater_than, // 0x7E
+ ContestAICmd_goto, // 0x7F
+ ContestAICmd_call, // 0x80
+ ContestAICmd_end, // 0x81
+ ContestAICmd_check_user_has_exciting_move, // 0x82
+ ContestAICmd_if_user_has_exciting_move, // 0x83
+ ContestAICmd_if_user_doesnt_have_exciting_move, // 0x84
+ ContestAICmd_check_user_has_move, // 0x85
+ ContestAICmd_if_user_has_move, // 0x86
+ ContestAICmd_if_effect_in_user_moveset, // 0x87
};
static void ContestAI_DoAIProcessing(void);
@@ -588,15 +588,15 @@ static void ContestAICmd_if_user_condition_not_eq(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_15(void)
+static void ContestAICmd_get_points(void)
{
eContestAI.scriptResult = eContestantStatus[eContestAI.contestantId].pointTotal;
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_16(void)
+static void ContestAICmd_if_points_less_than(void)
{
- ContestAICmd_unk_15();
+ ContestAICmd_get_points();
if (eContestAI.scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -604,9 +604,9 @@ static void ContestAICmd_unk_16(void)
gAIScriptPtr += 6;
}
-static void ContestAICmd_unk_17(void)
+static void ContestAICmd_if_points_more_than(void)
{
- ContestAICmd_unk_15();
+ ContestAICmd_get_points();
if (eContestAI.scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -614,9 +614,9 @@ static void ContestAICmd_unk_17(void)
gAIScriptPtr += 6;
}
-static void ContestAICmd_unk_18(void)
+static void ContestAICmd_if_points_eq(void)
{
- ContestAICmd_unk_15();
+ ContestAICmd_get_points();
if (eContestAI.scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -624,9 +624,9 @@ static void ContestAICmd_unk_18(void)
gAIScriptPtr += 6;
}
-static void ContestAICmd_unk_19(void)
+static void ContestAICmd_if_points_not_eq(void)
{
- ContestAICmd_unk_15();
+ ContestAICmd_get_points();
if (eContestAI.scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -634,15 +634,15 @@ static void ContestAICmd_unk_19(void)
gAIScriptPtr += 6;
}
-static void ContestAICmd_unk_1A(void)
+static void ContestAICmd_get_preliminary_points(void)
{
eContestAI.scriptResult = gContestMonRound1Points[eContestAI.contestantId];
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_1B(void)
+static void ContestAICmd_if_preliminary_points_less_than(void)
{
- ContestAICmd_unk_1A();
+ ContestAICmd_get_preliminary_points();
if (eContestAI.scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -650,9 +650,9 @@ static void ContestAICmd_unk_1B(void)
gAIScriptPtr += 6;
}
-static void ContestAICmd_unk_1C(void)
+static void ContestAICmd_if_preliminary_points_more_than(void)
{
- ContestAICmd_unk_1A();
+ ContestAICmd_get_preliminary_points();
if (eContestAI.scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -660,9 +660,9 @@ static void ContestAICmd_unk_1C(void)
gAIScriptPtr += 6;
}
-static void ContestAICmd_unk_1D(void)
+static void ContestAICmd_if_preliminary_points_eq(void)
{
- ContestAICmd_unk_1A();
+ ContestAICmd_get_preliminary_points();
if (eContestAI.scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -670,9 +670,9 @@ static void ContestAICmd_unk_1D(void)
gAIScriptPtr += 6;
}
-static void ContestAICmd_unk_1E(void)
+static void ContestAICmd_if_preliminary_points_not_eq(void)
{
- ContestAICmd_unk_1A();
+ ContestAICmd_get_preliminary_points();
if (eContestAI.scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
@@ -722,7 +722,7 @@ static void ContestAICmd_if_move_excitement_less_than(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_if_move_excitement_greater_than(void)
+static void ContestAICmd_if_move_excitement_more_than(void)
{
ContestAICmd_get_move_excitement();
@@ -839,7 +839,7 @@ static void ContestAICmd_if_most_appealing_move(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_2F(void)
+static void ContestAICmd_check_most_jamming_move(void)
{
int i;
u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
@@ -848,7 +848,7 @@ static void ContestAICmd_unk_2F(void)
for (i = 0; i < MAX_MON_MOVES; i++)
{
u16 newMove = gContestMons[eContestAI.contestantId].moves[i];
- if (newMove != 0 && jam < gContestEffects[gContestMoves[newMove].effect].jam)
+ if (newMove != MOVE_NONE && jam < gContestEffects[gContestMoves[newMove].effect].jam)
break;
}
@@ -860,9 +860,9 @@ static void ContestAICmd_unk_2F(void)
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_30(void)
+static void ContestAICmd_if_most_jamming_move(void)
{
- ContestAICmd_unk_2F();
+ ContestAICmd_check_most_jamming_move();
if (eContestAI.scriptResult != FALSE)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -870,7 +870,7 @@ static void ContestAICmd_unk_30(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_31(void)
+static void ContestAICmd_get_num_move_hearts(void)
{
u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
@@ -878,9 +878,9 @@ static void ContestAICmd_unk_31(void)
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_32(void)
+static void ContestAICmd_if_num_move_hearts_less_than(void)
{
- ContestAICmd_unk_31();
+ ContestAICmd_get_num_move_hearts();
if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -888,9 +888,9 @@ static void ContestAICmd_unk_32(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_33(void)
+static void ContestAICmd_if_num_move_hearts_more_than(void)
{
- ContestAICmd_unk_31();
+ ContestAICmd_get_num_move_hearts();
if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -898,9 +898,9 @@ static void ContestAICmd_unk_33(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_34(void)
+static void ContestAICmd_if_num_move_hearts_eq(void)
{
- ContestAICmd_unk_31();
+ ContestAICmd_get_num_move_hearts();
if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -908,9 +908,9 @@ static void ContestAICmd_unk_34(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_35(void)
+static void ContestAICmd_if_num_move_hearts_not_eq(void)
{
- ContestAICmd_unk_31();
+ ContestAICmd_get_num_move_hearts();
if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -918,7 +918,7 @@ static void ContestAICmd_unk_35(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_36(void)
+static void ContestAICmd_get_num_move_jam_hearts(void)
{
u16 move = gContestMons[eContestAI.contestantId].moves[eContestAI.nextMoveIndex];
@@ -926,9 +926,9 @@ static void ContestAICmd_unk_36(void)
gAIScriptPtr += 1;
}
-static void ContestAICmd_unk_37(void)
+static void ContestAICmd_if_num_move_jam_hearts_less_than(void)
{
- ContestAICmd_unk_36();
+ ContestAICmd_get_num_move_jam_hearts();
if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -936,9 +936,9 @@ static void ContestAICmd_unk_37(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_38(void)
+static void ContestAICmd_if_num_move_jam_hearts_more_than(void)
{
- ContestAICmd_unk_36();
+ ContestAICmd_get_num_move_jam_hearts();
if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -946,9 +946,9 @@ static void ContestAICmd_unk_38(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_39(void)
+static void ContestAICmd_if_num_move_jam_hearts_eq(void)
{
- ContestAICmd_unk_36();
+ ContestAICmd_get_num_move_jam_hearts();
if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -956,9 +956,9 @@ static void ContestAICmd_unk_39(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_3A(void)
+static void ContestAICmd_if_num_move_jam_hearts_not_eq(void)
{
- ContestAICmd_unk_36();
+ ContestAICmd_get_num_move_jam_hearts();
if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1050,7 +1050,7 @@ static void ContestAICmd_if_combo_starter(void)
{
ContestAICmd_check_combo_starter();
- if (eContestAI.scriptResult != 0)
+ if (eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1060,7 +1060,7 @@ static void ContestAICmd_if_not_combo_starter(void)
{
ContestAICmd_check_combo_starter();
- if (eContestAI.scriptResult == 0)
+ if (!eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1096,7 +1096,7 @@ static void ContestAICmd_if_combo_finisher(void)
{
ContestAICmd_check_combo_finisher();
- if (eContestAI.scriptResult != 0)
+ if (eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1106,7 +1106,7 @@ static void ContestAICmd_if_not_combo_finisher(void)
{
ContestAICmd_check_combo_finisher();
- if (eContestAI.scriptResult == 0)
+ if (!eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1131,7 +1131,7 @@ static void ContestAICmd_if_would_finish_combo(void)
{
ContestAICmd_check_would_finish_combo();
- if (eContestAI.scriptResult != 0)
+ if (eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1141,7 +1141,7 @@ static void ContestAICmd_if_would_not_finish_combo(void)
{
ContestAICmd_check_would_finish_combo();
- if (eContestAI.scriptResult == 0)
+ if (!eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1261,7 +1261,7 @@ static void ContestAICmd_if_can_participate(void)
{
ContestAICmd_check_can_participate();
- if (eContestAI.scriptResult != 0)
+ if (eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1271,41 +1271,41 @@ static void ContestAICmd_if_cannot_participate(void)
{
ContestAICmd_check_can_participate();
- if (eContestAI.scriptResult == 0)
+ if (!eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_get_val_812A188(void)
+static void ContestAICmd_get_completed_combo(void)
{
u8 contestant = GetContestantIdByTurn(gAIScriptPtr[1]);
- eContestAI.scriptResult = eContestantStatus[contestant].unk15_3;
+ eContestAI.scriptResult = eContestantStatus[contestant].completedComboFlag;
gAIScriptPtr += 2;
}
-static void ContestAICmd_unk_57(void)
+static void ContestAICmd_if_completed_combo(void)
{
- ContestAICmd_get_val_812A188();
+ ContestAICmd_get_completed_combo();
- if (eContestAI.scriptResult != 0)
+ if (eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_contest_58(void)
+static void ContestAICmd_if_not_completed_combo(void)
{
- ContestAICmd_get_val_812A188();
+ ContestAICmd_get_completed_combo();
- if (eContestAI.scriptResult == 0)
+ if (!eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_59(void)
+static void ContestAICmd_get_points_diff(void)
{
u8 contestant = GetContestantIdByTurn(gAIScriptPtr[1]);
@@ -1313,9 +1313,9 @@ static void ContestAICmd_unk_59(void)
gAIScriptPtr += 2;
}
-static void ContestAICmd_unk_5A(void)
+static void ContestAICmd_if_points_more_than_mon(void)
{
- ContestAICmd_unk_59();
+ ContestAICmd_get_points_diff();
if (eContestAI.scriptResult < 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
@@ -1323,9 +1323,9 @@ static void ContestAICmd_unk_5A(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_5B(void)
+static void ContestAICmd_if_points_less_than_mon(void)
{
- ContestAICmd_unk_59();
+ ContestAICmd_get_points_diff();
if (eContestAI.scriptResult > 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
@@ -1333,9 +1333,9 @@ static void ContestAICmd_unk_5B(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_5C(void)
+static void ContestAICmd_if_points_eq_mon(void)
{
- ContestAICmd_unk_59();
+ ContestAICmd_get_points_diff();
if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
@@ -1343,9 +1343,9 @@ static void ContestAICmd_unk_5C(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_5D(void)
+static void ContestAICmd_if_points_not_eq_mon(void)
{
- ContestAICmd_unk_59();
+ ContestAICmd_get_points_diff();
if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
@@ -1353,7 +1353,7 @@ static void ContestAICmd_unk_5D(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_5E(void)
+static void ContestAICmd_get_preliminary_points_diff(void)
{
u8 contestant = GetContestantIdByTurn(gAIScriptPtr[1]);
@@ -1361,9 +1361,9 @@ static void ContestAICmd_unk_5E(void)
gAIScriptPtr += 2;
}
-static void ContestAICmd_unk_5F(void)
+static void ContestAICmd_if_preliminary_points_more_than_mon(void)
{
- ContestAICmd_unk_5E();
+ ContestAICmd_get_preliminary_points_diff();
if (eContestAI.scriptResult < 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
@@ -1371,9 +1371,9 @@ static void ContestAICmd_unk_5F(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_60(void)
+static void ContestAICmd_if_preliminary_points_less_than_mon(void)
{
- ContestAICmd_unk_5E();
+ ContestAICmd_get_preliminary_points_diff();
if (eContestAI.scriptResult > 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
@@ -1381,9 +1381,9 @@ static void ContestAICmd_unk_60(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_61(void)
+static void ContestAICmd_if_preliminary_points_eq_mon(void)
{
- ContestAICmd_unk_5E();
+ ContestAICmd_get_preliminary_points_diff();
if (eContestAI.scriptResult == 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
@@ -1391,9 +1391,9 @@ static void ContestAICmd_unk_61(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_62(void)
+static void ContestAICmd_if_preliminary_points_not_eq_mon(void)
{
- ContestAICmd_unk_5E();
+ ContestAICmd_get_preliminary_points_diff();
if (eContestAI.scriptResult != 0)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
@@ -1401,19 +1401,19 @@ static void ContestAICmd_unk_62(void)
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_63(void)
+static void ContestAICmd_get_used_moves_effect(void)
{
u8 contestant = GetContestantIdByTurn(gAIScriptPtr[1]);
- u8 turn = gAIScriptPtr[2];
- u16 move = eContest.moveHistory[turn][contestant];
+ u8 round = gAIScriptPtr[2];
+ u16 move = eContest.moveHistory[round][contestant];
eContestAI.scriptResult = gContestMoves[move].effect;
gAIScriptPtr += 3;
}
-static void ContestAICmd_unk_64(void)
+static void ContestAICmd_if_used_moves_effect_less_than(void)
{
- ContestAICmd_unk_63();
+ ContestAICmd_get_used_moves_effect();
if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1421,9 +1421,9 @@ static void ContestAICmd_unk_64(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_65(void)
+static void ContestAICmd_if_used_moves_effect_more_than(void)
{
- ContestAICmd_unk_63();
+ ContestAICmd_get_used_moves_effect();
if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1431,9 +1431,9 @@ static void ContestAICmd_unk_65(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_66(void)
+static void ContestAICmd_if_used_moves_effect_eq(void)
{
- ContestAICmd_unk_63();
+ ContestAICmd_get_used_moves_effect();
if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1441,9 +1441,9 @@ static void ContestAICmd_unk_66(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_67(void)
+static void ContestAICmd_if_used_moves_effect_not_eq(void)
{
- ContestAICmd_unk_63();
+ ContestAICmd_get_used_moves_effect();
if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1451,19 +1451,19 @@ static void ContestAICmd_unk_67(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_68(void)
+static void ContestAICmd_get_used_moves_excitement(void)
{
u8 contestant = GetContestantIdByTurn(gAIScriptPtr[1]);
- u8 turn = gAIScriptPtr[2];
- s8 result = eContest.excitementHistory[turn][contestant];
+ u8 round = gAIScriptPtr[2];
+ s8 result = eContest.excitementHistory[round][contestant];
eContestAI.scriptResult = result;
gAIScriptPtr += 3;
}
-static void ContestAICmd_unk_69(void)
+static void ContestAICmd_if_used_moves_excitement_less_than(void)
{
- ContestAICmd_unk_68();
+ ContestAICmd_get_used_moves_excitement();
if (eContestAI.scriptResult < gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1471,9 +1471,9 @@ static void ContestAICmd_unk_69(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_6A(void)
+static void ContestAICmd_if_used_moves_excitement_more_than(void)
{
- ContestAICmd_unk_68();
+ ContestAICmd_get_used_moves_excitement();
if (eContestAI.scriptResult > gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1481,9 +1481,9 @@ static void ContestAICmd_unk_6A(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_6B(void)
+static void ContestAICmd_if_used_moves_excitement_eq(void)
{
- ContestAICmd_unk_68();
+ ContestAICmd_get_used_moves_excitement();
if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1491,9 +1491,9 @@ static void ContestAICmd_unk_6B(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_6C(void)
+static void ContestAICmd_if_used_moves_excitement_not_eq(void)
{
- ContestAICmd_unk_68();
+ ContestAICmd_get_used_moves_excitement();
if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1501,19 +1501,19 @@ static void ContestAICmd_unk_6C(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_6D(void)
+static void ContestAICmd_get_used_moves_effect_type(void)
{
u8 contestant = GetContestantIdByTurn(gAIScriptPtr[1]);
- u8 turn = gAIScriptPtr[2];
- u16 move = eContest.moveHistory[turn][contestant];
+ u8 round = gAIScriptPtr[2];
+ u16 move = eContest.moveHistory[round][contestant];
eContestAI.scriptResult = gContestEffects[gContestMoves[move].effect].effectType;
gAIScriptPtr += 3;
}
-static void ContestAICmd_unk_6E(void)
+static void ContestAICmd_if_used_moves_effect_type_eq(void)
{
- ContestAICmd_unk_6D();
+ ContestAICmd_get_used_moves_effect_type();
if (eContestAI.scriptResult == gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1521,9 +1521,9 @@ static void ContestAICmd_unk_6E(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_6F(void)
+static void ContestAICmd_if_used_moves_effect_type_not_eq(void)
{
- ContestAICmd_unk_6D();
+ ContestAICmd_get_used_moves_effect_type();
if (eContestAI.scriptResult != gAIScriptPtr[0])
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
@@ -1531,119 +1531,128 @@ static void ContestAICmd_unk_6F(void)
gAIScriptPtr += 5;
}
-static void ContestAICmd_unk_70(void)
+static void ContestAICmd_save_result(void)
{
- eContestAI.scriptArr[gAIScriptPtr[1]] = eContestAI.scriptResult;
+ eContestAI.vars[gAIScriptPtr[1]] = eContestAI.scriptResult;
gAIScriptPtr += 2;
}
-static void ContestAICmd_unk_71(void)
+static void ContestAICmd_setvar(void)
{
- eContestAI.scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2);
+ eContestAI.vars[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2);
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_72(void)
+static void ContestAICmd_add(void)
{
// wtf? shouldn't T1_READ_16 work here? why the signed 8 load by gAIScriptPtr[2]?
- eContestAI.scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8);
+ eContestAI.vars[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8);
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_73(void)
+static void ContestAICmd_addvar(void)
{
- eContestAI.scriptArr[gAIScriptPtr[1]] += eContestAI.scriptArr[gAIScriptPtr[2]];
+ eContestAI.vars[gAIScriptPtr[1]] += eContestAI.vars[gAIScriptPtr[2]];
gAIScriptPtr += 3;
}
-static void ContestAICmd_unk_74(void)
+static void ContestAICmd_addvar_duplicate(void)
{
- eContestAI.scriptArr[gAIScriptPtr[1]] += eContestAI.scriptArr[gAIScriptPtr[2]];
+ eContestAI.vars[gAIScriptPtr[1]] += eContestAI.vars[gAIScriptPtr[2]];
gAIScriptPtr += 3;
}
-static void ContestAICmd_unk_75(void)
+static void ContestAICmd_if_less_than(void)
{
- if (eContestAI.scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2))
+ if (eContestAI.vars[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
-static void ContestAICmd_unk_76(void)
+static void ContestAICmd_if_greater_than(void)
{
- if (eContestAI.scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2))
+ if (eContestAI.vars[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
-static void ContestAICmd_unk_77(void)
+static void ContestAICmd_if_eq(void)
{
- if (eContestAI.scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2))
+ if (eContestAI.vars[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
-static void ContestAICmd_unk_78(void)
+static void ContestAICmd_if_not_eq(void)
{
- if (eContestAI.scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2))
+ if (eContestAI.vars[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
-static void ContestAICmd_unk_79(void)
+static void ContestAICmd_if_less_than_var(void)
{
- if (eContestAI.scriptArr[gAIScriptPtr[1]] < (eContestAI.scriptArr[gAIScriptPtr[2]]))
+ if (eContestAI.vars[gAIScriptPtr[1]] < (eContestAI.vars[gAIScriptPtr[2]]))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
-static void ContestAICmd_unk_7A(void)
+static void ContestAICmd_if_greater_than_var(void)
{
- if (eContestAI.scriptArr[gAIScriptPtr[1]] > (eContestAI.scriptArr[gAIScriptPtr[2]]))
+ if (eContestAI.vars[gAIScriptPtr[1]] > (eContestAI.vars[gAIScriptPtr[2]]))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
-static void ContestAICmd_unk_7B(void)
+static void ContestAICmd_if_eq_var(void)
{
- if (eContestAI.scriptArr[gAIScriptPtr[1]] == (eContestAI.scriptArr[gAIScriptPtr[2]]))
+ if (eContestAI.vars[gAIScriptPtr[1]] == (eContestAI.vars[gAIScriptPtr[2]]))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
-static void ContestAICmd_unk_7C(void)
+static void ContestAICmd_if_not_eq_var(void)
{
- if (eContestAI.scriptArr[gAIScriptPtr[1]] != (eContestAI.scriptArr[gAIScriptPtr[2]]))
+ if (eContestAI.vars[gAIScriptPtr[1]] != (eContestAI.vars[gAIScriptPtr[2]]))
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
-static void ContestAICmd_if_random(void)
+// UB: Should just be comparing to gAIScriptPtr[1] in the functions below
+// With the values passed to if_random_less_than this goes way OOB on vars
+static void ContestAICmd_if_random_less_than(void)
{
- if ((Random() & 0xFF) < eContestAI.scriptArr[gAIScriptPtr[1]])
+#ifndef UBFIX
+ if ((Random() & 0xFF) < eContestAI.vars[gAIScriptPtr[1]])
+#else
+ if ((Random() & 0xFF) < gAIScriptPtr[1])
+#endif
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
-static void ContestAICmd_unk_7E(void)
+static void ContestAICmd_if_random_greater_than(void)
{
- if ((Random() & 0xFF) > eContestAI.scriptArr[gAIScriptPtr[1]])
+#ifndef UBFIX
+ if (((Random()) & 0xFF) > eContestAI.vars[gAIScriptPtr[1]])
+#else
+ if (((Random()) & 0xFF) > gAIScriptPtr[1])
+#endif
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
-// jump
-static void ContestAICmd_jump(void)
+static void ContestAICmd_goto(void)
{
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
@@ -1704,7 +1713,7 @@ static void ContestAICmd_if_user_has_exciting_move(void)
{
ContestAICmd_check_user_has_exciting_move();
- if (eContestAI.scriptResult != 0)
+ if (eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1714,37 +1723,37 @@ static void ContestAICmd_if_user_doesnt_have_exciting_move(void)
{
ContestAICmd_check_user_has_exciting_move();
- if (eContestAI.scriptResult == 0)
+ if (!eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
}
-static void ContestAICmd_unk_85(void)
+static void ContestAICmd_check_user_has_move(void)
{
- int result = 0;
+ int hasMove = FALSE;
int i;
- u16 arg = T1_READ_16(gAIScriptPtr + 1);
+ u16 targetMove = T1_READ_16(gAIScriptPtr + 1);
for (i = 0; i < MAX_MON_MOVES; i++)
{
u16 move = gContestMons[eContestAI.contestantId].moves[i];
- if (move == arg)
+ if (move == targetMove)
{
- result = 1;
+ hasMove = TRUE;
break;
}
}
- eContestAI.scriptResult = result;
+ eContestAI.scriptResult = hasMove;
gAIScriptPtr += 3;
}
-static void ContestAICmd_unk_86(void)
+static void ContestAICmd_if_user_has_move(void)
{
- ContestAICmd_unk_85();
+ ContestAICmd_check_user_has_move();
- if (eContestAI.scriptResult != 0)
+ if (eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
@@ -1752,9 +1761,9 @@ static void ContestAICmd_unk_86(void)
static void ContestAICmd_if_effect_in_user_moveset(void)
{
- ContestAICmd_unk_85();
+ ContestAICmd_check_user_has_move();
- if (eContestAI.scriptResult == 0)
+ if (!eContestAI.scriptResult)
gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0);
else
gAIScriptPtr += 4;
diff --git a/src/contest_effect.c b/src/contest_effect.c
index 8d1bbb298..1fe21daab 100644
--- a/src/contest_effect.c
+++ b/src/contest_effect.c
@@ -68,7 +68,10 @@ bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove)
if (lastMoveComboStarterId == 0)
return FALSE;
- else if (lastMoveComboStarterId == nextMoveComboMoves[0] || lastMoveComboStarterId == nextMoveComboMoves[1] || lastMoveComboStarterId == nextMoveComboMoves[2] || lastMoveComboStarterId == nextMoveComboMoves[3])
+ else if (lastMoveComboStarterId == nextMoveComboMoves[0]
+ || lastMoveComboStarterId == nextMoveComboMoves[1]
+ || lastMoveComboStarterId == nextMoveComboMoves[2]
+ || lastMoveComboStarterId == nextMoveComboMoves[3])
return gComboStarterLookupTable[lastMoveComboStarterId];
else
return FALSE;