summaryrefslogtreecommitdiff
path: root/asm/macros/contest_ai_script.inc
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-08-21 02:36:48 -0400
committerGriffinR <griffin.g.richards@gmail.com>2020-08-21 02:36:48 -0400
commit469ec5f248ce3f3708940dfaedcb1b1c2d6d3380 (patch)
tree7df808adb6a7da6cfd764bd7996a94bb7858519e /asm/macros/contest_ai_script.inc
parent6c34effda93c67a37895e79b684b31b3cb9a2a88 (diff)
Document contest AI commands
Diffstat (limited to 'asm/macros/contest_ai_script.inc')
-rw-r--r--asm/macros/contest_ai_script.inc800
1 files changed, 575 insertions, 225 deletions
diff --git a/asm/macros/contest_ai_script.inc b/asm/macros/contest_ai_script.inc
index 763c3d1c4..7a5d669f4 100644
--- a/asm/macros/contest_ai_script.inc
+++ b/asm/macros/contest_ai_script.inc
@@ -1,6 +1,8 @@
+@ A large number of the Contest AI commands go unused, so their corresponding macros in this file are similarly unused
+
@ Add a positive/negative value to the score of the move being evaluated.
- .macro score score
+ .macro score score:req
.byte 0x00
.byte \score
.endm
@@ -9,36 +11,36 @@
.byte 0x01
.endm
- .macro if_appeal_num_less_than param, addr
+ .macro if_appeal_num_less_than num:req, destination:req
.byte 0x02
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_appeal_num_more_than param, addr
+ .macro if_appeal_num_more_than num:req, destination:req
.byte 0x03
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_appeal_num_eq param, addr
+ .macro if_appeal_num_eq num:req, destination:req
.byte 0x04
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_appeal_num_not_eq param, addr
+ .macro if_appeal_num_not_eq num:req, destination:req
.byte 0x05
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_last_appeal addr:req
- if_appeal_num_eq CONTEST_LAST_APPEAL, \addr
+ .macro if_last_appeal destination:req
+ if_appeal_num_eq CONTEST_LAST_APPEAL, \destination
.endm
- .macro if_not_last_appeal addr:req
- if_appeal_num_not_eq CONTEST_LAST_APPEAL, \addr
+ .macro if_not_last_appeal destination:req
+ if_appeal_num_not_eq CONTEST_LAST_APPEAL, \destination
.endm
@ audience excitement
@@ -47,28 +49,28 @@
.byte 0x06
.endm
- .macro if_excitement_less_than param, addr
+ .macro if_excitement_less_than num:req, destination:req
.byte 0x07
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_excitement_more_than param, addr
+ .macro if_excitement_more_than num:req, destination:req
.byte 0x08
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_excitement_eq param, addr
+ .macro if_excitement_eq num:req, destination:req
.byte 0x09
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_excitement_not_eq param, addr
+ .macro if_excitement_not_eq num:req, destination:req
.byte 0x0A
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
@ the order that the user goes in the current appeal
@@ -77,28 +79,28 @@
.byte 0x0B
.endm
- .macro if_user_order_less_than param addr
+ .macro if_user_order_less_than num:req, destination:req
.byte 0x0C
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_user_order_more_than param addr
+ .macro if_user_order_more_than num:req, destination:req
.byte 0x0D
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_user_order_eq param addr
+ .macro if_user_order_eq num:req, destination:req
.byte 0x0E
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_user_order_not_eq param addr
+ .macro if_user_order_not_eq num:req, destination:req
.byte 0x0F
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
@ user condition
@@ -107,40 +109,89 @@
.byte 0x10
.endm
- .macro if_user_condition_less_than param, addr
+ .macro if_user_condition_less_than num:req, destination:req
.byte 0x11
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_user_condition_more_than param, addr
+ .macro if_user_condition_more_than num:req, destination:req
.byte 0x12
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_user_condition_eq param, addr
+ .macro if_user_condition_eq num:req, destination:req
.byte 0x13
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_user_condition_not_eq param, addr
+ .macro if_user_condition_not_eq num:req, destination:req
.byte 0x14
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
+ .endm
+
+@ appeal points
+
+ .macro get_point_total
+ .byte 0x15
+ .endm
+
+ .macro if_points_less_than num:req, destination:req
+ .byte 0x16
+ .byte \num
+ .4byte \destination
.endm
-@ 15
-@ 16
-@ 17
-@ 18
-@ 19
-@ 1A
-@ 1B
-@ 1C
-@ 1D
-@ 1E
+ .macro if_points_more_than num:req, destination:req
+ .byte 0x17
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_points_eq num:req, destination:req
+ .byte 0x18
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_points_not_eq num:req, destination:req
+ .byte 0x19
+ .byte \num
+ .4byte \destination
+ .endm
+
+@ preliminary (pre-appeal) judging points
+
+ .macro get_preliminary_points
+ .byte 0x1A
+ .endm
+
+ .macro if_preliminary_points_less_than num:req, destination:req
+ .byte 0x1B
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_preliminary_points_more_than num:req, destination:req
+ .byte 0x1C
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_preliminary_points_eq num:req, destination:req
+ .byte 0x1D
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_preliminary_points_not_eq num:req, destination:req
+ .byte 0x1E
+ .byte \num
+ .4byte \destination
+ .endm
@ contest type
@@ -148,16 +199,16 @@
.byte 0x1F
.endm
- .macro if_contest_type_eq param, addr
+ .macro if_contest_type_eq type:req, destination:req
.byte 0x20
- .byte \param
- .4byte \addr
+ .byte \type
+ .4byte \destination
.endm
- .macro if_contest_type_not_eq param, addr
+ .macro if_contest_type_not_eq type:req, destination:req
.byte 0x21
- .byte \param
- .4byte \addr
+ .byte \type
+ .4byte \destination
.endm
@ move excitement (change in excitement due to move)
@@ -166,28 +217,28 @@
.byte 0x22
.endm
- .macro if_move_excitement_less_than param, addr
+ .macro if_move_excitement_less_than num:req, destination:req
.byte 0x23
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_move_excitement_more_than param, addr
+ .macro if_move_excitement_more_than num:req, destination:req
.byte 0x24
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_move_excitement_eq param, addr
+ .macro if_move_excitement_eq num:req, destination:req
.byte 0x25
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_move_excitement_not_eq param, addr
+ .macro if_move_excitement_not_eq num:req, destination:req
.byte 0x26
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
@ move effect
@@ -196,16 +247,16 @@
.byte 0x27
.endm
- .macro if_effect_eq param, addr
+ .macro if_effect_eq effect:req, destination:req
.byte 0x28
- .byte \param
- .4byte \addr
+ .byte \effect
+ .4byte \destination
.endm
- .macro if_effect_not_eq param, addr
+ .macro if_effect_not_eq effect:req, destination:req
.byte 0x29
- .byte \param
- .4byte \addr
+ .byte \effect
+ .4byte \destination
.endm
@ move effect type
@@ -214,16 +265,16 @@
.byte 0x2A
.endm
- .macro if_effect_type_eq param, addr
+ .macro if_effect_type_eq type:req, destination:req
.byte 0x2B
- .byte \param
- .4byte \addr
+ .byte \type
+ .4byte \destination
.endm
- .macro if_effect_type_not_eq param, addr
+ .macro if_effect_type_not_eq type:req, destination:req
.byte 0x2C
- .byte \param
- .4byte \addr
+ .byte \type
+ .4byte \destination
.endm
@ whether the current move is the most appealing in the user's moveset
@@ -232,23 +283,81 @@
.byte 0x2D
.endm
- .macro if_most_appealing_move addr
+ .macro if_most_appealing_move destination:req
.byte 0x2E
- .4byte \addr
- .endm
-
-@ 2F
-@ 30
-@ 31
-@ 32
-@ 33
-@ 34
-@ 35
-@ 36
-@ 37
-@ 38
-@ 39
-@ 3A
+ .4byte \destination
+ .endm
+
+@ whether the current move is the most jamming in the user's moveset
+
+ .macro check_most_jamming_move
+ .byte 0x2F
+ .endm
+
+ .macro if_most_jamming_move destination:req
+ .byte 0x30
+ .4bye \destination
+ .endm
+
+@ number of hearts the current move's appeal would provide
+
+ .macro get_num_move_hearts
+ .byte 0x31
+ .endm
+
+ .macro if_num_move_hearts_less_than num:req, destination:req
+ .byte 0x32
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_num_move_hearts_more_than num:req, destination:req
+ .byte 0x33
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_num_move_hearts_eq num:req, destination:req
+ .byte 0x34
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_num_move_hearts_not_eq num:req, destination:req
+ .byte 0x35
+ .byte \num
+ .4byte \destination
+ .endm
+
+@ number of hearts the current move's jam would remove
+
+ .macro get_num_move_jam_hearts
+ .byte 0x36
+ .endm
+
+ .macro if_num_move_jam_hearts_less_than num:req, destination:req
+ .byte 0x37
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_num_move_jam_hearts_more_than num:req, destination:req
+ .byte 0x38
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_num_move_jam_hearts_eq num:req, destination:req
+ .byte 0x39
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_num_move_jam_hearts_not_eq num:req, destination:req
+ .byte 0x3A
+ .byte \num
+ .4byte \destination
+ .endm
@ number of times current move has been used
@@ -256,28 +365,28 @@
.byte 0x3B
.endm
- .macro if_move_used_count_less_than param, addr
+ .macro if_move_used_count_less_than num:req, destination:req
.byte 0x3C
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_move_used_count_more_than param, addr
+ .macro if_move_used_count_more_than num:req, destination:req
.byte 0x3D
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_move_used_count_eq param, addr
+ .macro if_move_used_count_eq num:req, destination:req
.byte 0x3E
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_move_used_count_not_eq param, addr
+ .macro if_move_used_count_not_eq num:req, destination:req
.byte 0x3F
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
@ whether the current move is a combo starter (with another move in the moveset)
@@ -286,14 +395,14 @@
.byte 0x40
.endm
- .macro if_combo_starter addr
+ .macro if_combo_starter destination:req
.byte 0x41
- .4byte \addr
+ .4byte \destination
.endm
- .macro if_not_combo_starter addr
+ .macro if_not_combo_starter destination:req
.byte 0x42
- .4byte \addr
+ .4byte \destination
.endm
@ whether the current move is a combo finisher (with another move in the moveset)
@@ -302,14 +411,14 @@
.byte 0x43
.endm
- .macro if_combo_finisher addr
+ .macro if_combo_finisher destination:req
.byte 0x44
- .4byte \addr
+ .4byte \destination
.endm
- .macro if_not_combo_finisher addr
+ .macro if_not_combo_finisher destination:req
.byte 0x45
- .4byte \addr
+ .4byte \destination
.endm
@ whether the current move would finish a combo
@@ -318,170 +427,403 @@
.byte 0x46
.endm
- .macro if_would_finish_combo addr
+ .macro if_would_finish_combo destination:req
.byte 0x47
- .4byte \addr
+ .4byte \destination
.endm
- .macro if_would_not_finish_combo addr
+ .macro if_would_not_finish_combo destination:req
.byte 0x48
- .4byte \addr
+ .4byte \destination
.endm
@ condition of mon (indexed by order)
- .macro get_condition mon
+ .macro get_condition mon:req
.byte 0x49
.byte \mon
.endm
- .macro if_condition_less_than mon, value, addr
+ .macro if_condition_less_than mon:req, num:req destination:req
.byte 0x4A
.byte \mon
- .byte \value
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_condition_more_than mon, value, addr
+ .macro if_condition_more_than mon:req, num:req, destination:req
.byte 0x4B
.byte \mon
- .byte \value
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_condition_eq mon, value, addr
+ .macro if_condition_eq mon:req, num:req, destination:req
.byte 0x4C
.byte \mon
- .byte \value
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_condition_not_eq mon, value, addr
+ .macro if_condition_not_eq mon:req, num:req, destination:req
.byte 0x4D
.byte \mon
- .byte \value
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
@ whether the mon used a combo starter move
@ Even though this value is always 1 or 0 (i.e. TRUE/FALSE),
@ there are less-than and greater-than comparison operations for some reason.
- .macro get_used_combo_starter mon
+ .macro get_used_combo_starter mon:req
.byte 0x4E
.byte \mon
.endm
- .macro if_used_combo_starter_less_than mon, value, addr
+ .macro if_used_combo_starter_less_than mon:req, num:req, destination:req
.byte 0x4F
.byte \mon
- .byte \value
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_used_combo_starter_more_than mon, value, addr
+ .macro if_used_combo_starter_more_than mon:req, num:req, destination:req
.byte 0x50
.byte \mon
- .byte \value
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_used_combo_starter_eq mon, value, addr
+ .macro if_used_combo_starter_eq mon:req, num:req, destination:req
.byte 0x51
.byte \mon
- .byte \value
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
- .macro if_used_combo_starter_not_eq mon, value, addr
+ .macro if_used_combo_starter_not_eq mon:req, num:req, destination:req
.byte 0x52
.byte \mon
- .byte \value
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
@ whether the mon can make an appeal
- .macro check_can_participate mon
+ .macro check_can_participate mon:req
.byte 0x53
.byte \mon
.endm
- .macro if_can_participate mon, addr
+ .macro if_can_participate mon:req, destination:req
.byte 0x54
.byte \mon
- .4byte \addr
+ .4byte \destination
.endm
- .macro if_cannot_participate mon, addr
+ .macro if_cannot_participate mon:req, destination:req
.byte 0x55
.byte \mon
- .4byte \addr
+ .4byte \destination
.endm
-@ 56
-@ 57
+@ whether the mon just completed a combo
- .macro contest_58 param addr
+ .macro get_completed_combo mon:req
+ .byte 0x56
+ .byte \mon
+ .4byte \destination
+ .endm
+
+ .macro if_completed_combo mon:req, destination:req
+ .byte 0x57
+ .byte \mon
+ .4byte \destination
+ .endm
+
+ .macro if_not_completed_combo mon:req destination:req
.byte 0x58
- .byte \param
- .4byte \addr
- .endm
-
-@ 59
-@ 5A
-@ 5B
-@ 5C
-@ 5D
-@ 5E
-@ 5F
-@ 60
-@ 61
-@ 62
-@ 63
-@ 64
-@ 65
-@ 66
-@ 67
-@ 68
-@ 69
-@ 6A
-@ 6B
-@ 6C
-@ 6D
-@ 6E
-@ 6F
-@ 70
-@ 71
-@ 72
-@ 73
-@ 74
-@ 75
-@ 76
-@ 77
-@ 78
-@ 79
-@ 7A
-@ 7B
-@ 7C
-
- .macro if_random param addr
+ .byte \mon
+ .4byte \destination
+ .endm
+
+@ comparing appeal points to another mon
+
+ .macro get_points_diff mon:req
+ .byte 0x59
+ .byte \mon
+ .endm
+
+ .macro if_points_more_than_mon mon:req, destination:req
+ .byte 0x5A
+ .byte \mon
+ .4byte \destination
+ .endm
+
+ .macro if_points_less_than_mon mon:req, destination:req
+ .byte 0x5B
+ .byte \mon
+ .4byte \destination
+ .endm
+
+ .macro if_points_eq_mon mon:req, destination:req
+ .byte 0x5C
+ .byte \mon
+ .4byte \destination
+ .endm
+
+ .macro if_points_not_eq_mon mon:req, destination:req
+ .byte 0x5D
+ .byte \mon
+ .4byte \destination
+ .endm
+
+@ comparing preliminary judging points to another mon
+
+ .macro get_preliminary_points_diff mon:req
+ .byte 0x5E
+ .byte \mon
+ .endm
+
+ .macro if_preliminary_points_more_than_mon mon:req, destination:req
+ .byte 0x5F
+ .byte \mon
+ .4byte \destination
+ .endm
+
+ .macro if_preliminary_points_less_than_mon mon:req, destination:req
+ .byte 0x60
+ .byte \mon
+ .4byte \destination
+ .endm
+
+ .macro if_preliminary_points_eq_mon mon:req, destination:req
+ .byte 0x61
+ .byte \mon
+ .4byte \destination
+ .endm
+
+ .macro if_preliminary_points_not_eq_mon mon:req, destination:req
+ .byte 0x62
+ .byte \mon
+ .4byte \destination
+ .endm
+
+@ checking move history for move effect
+
+ .macro get_used_moves_effect mon:req, round:req
+ .byte 0x63
+ .byte \mon
+ .byte \round
+ .endm
+
+ .macro if_used_moves_effect_less_than mon:req, round:req, effect:req, destination:req
+ .byte 0x64
+ .byte \mon
+ .byte \round
+ .byte \effect
+ .4byte \destination
+ .endm
+
+ .macro if_used_moves_effect_more_than mon:req, round:req, effect:req, destination:req
+ .byte 0x65
+ .byte \mon
+ .byte \round
+ .byte \effect
+ .4byte \destination
+ .endm
+
+ .macro if_used_moves_effect_eq mon:req, round:req, effect:req, destination:req
+ .byte 0x66
+ .byte \mon
+ .byte \round
+ .byte \effect
+ .4byte \destination
+ .endm
+
+ .macro if_used_moves_effect_not_eq mon:req, round:req, effect:req, destination:req
+ .byte 0x67
+ .byte \mon
+ .byte \round
+ .byte \effect
+ .4byte \destination
+ .endm
+
+@ checking move history for excitement
+
+ .macro get_used_moves_excitement mon:req, round:req
+ .byte 0x68
+ .byte \mon
+ .byte \round
+ .endm
+
+ .macro if_used_moves_excitement_less_than mon:req, round:req, num:req, destination:req
+ .byte 0x69
+ .byte \mon
+ .byte \round
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_used_moves_excitement_more_than mon:req, round:req, num:req, destination:req
+ .byte 0x6A
+ .byte \mon
+ .byte \round
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_used_moves_excitement_eq mon:req, round:req, num:req, destination:req
+ .byte 0x6B
+ .byte \mon
+ .byte \round
+ .byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_used_moves_excitement_not_eq mon:req, round:req, num:req, destination:req
+ .byte 0x6C
+ .byte \mon
+ .byte \round
+ .byte \num
+ .4byte \destination
+ .endm
+
+@ checking move history for effect type
+
+ .macro get_used_moves_effect_type mon:req, round:req
+ .byte 0x6D
+ .byte \mon
+ .byte \round
+ .endm
+
+ .macro if_used_moves_effect_type_eq mon:req, round:req, type:req, destination:req
+ .byte 0x6E
+ .byte \mon
+ .byte \round
+ .byte \type
+ .4byte \destination
+ .endm
+
+ .macro if_used_moves_effect_type_not_eq mon:req, round:req, type:req, destination:req
+ .byte 0x6F
+ .byte \mon
+ .byte \round
+ .byte \type
+ .4byte \destination
+ .endm
+
+@ generic commands
+
+ .macro save_result varId:req
+ .byte 0x70
+ .byte \varId
+ .endm
+
+ .macro setvar varId:req, num:req
+ .byte 0x71
+ .byte \varId
+ .2byte \num
+ .endm
+
+ .macro add varId:req, num:req
+ .byte 0x72
+ .byte \varId
+ .2byte \num
+ .endm
+
+ .macro addvar varId1:req, varId2:req
+ .byte 0x73
+ .byte \varId1
+ .byte \varId2
+ .endm
+
+ @ Duplicate of above
+ .macro addvar_duplicate varId1:req, varId2:req
+ .byte 0x74
+ .byte \varId1
+ .byte \varId2
+ .endm
+
+ .macro if_less_than varId:req, num:req, destination:req
+ .byte 0x75
+ .byte \varId
+ .2byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_greater_than varId:req, num:req, destination:req
+ .byte 0x76
+ .byte \varId
+ .2byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_eq varId:req, num:req, destination:req
+ .byte 0x77
+ .byte \varId
+ .2byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_not_eq varId:req, num:req, destination:req
+ .byte 0x78
+ .byte \varId
+ .2byte \num
+ .4byte \destination
+ .endm
+
+ .macro if_less_than_var varId1:req, varId2:req, destination:req
+ .byte 0x79
+ .byte \varId1
+ .byte \varId2
+ .4byte \destination
+ .endm
+
+ .macro if_greater_than_var varId1:req, varId2:req, destination:req
+ .byte 0x7A
+ .byte \varId1
+ .byte \varId2
+ .4byte \destination
+ .endm
+
+ .macro if_eq_var varId1:req, varId2:req, destination:req
+ .byte 0x7B
+ .byte \varId1
+ .byte \varId2
+ .4byte \destination
+ .endm
+
+ .macro if_not_eq_var varId1:req, varId2:req, destination:req
+ .byte 0x7C
+ .byte \varId1
+ .byte \varId2
+ .4byte \destination
+ .endm
+
+ @ NOTE: Random is broken (see ContestAICmd_if_random_less_than)
+ .macro if_random_less_than num:req, destination:req
.byte 0x7D
- .byte \param
- .4byte \addr
+ .byte \num
+ .4byte \destination
.endm
-@ 7E
+ .macro if_random_greater_than num:req, destination:req
+ .byte 0x7E
+ .byte \num
+ .4byte \destination
+ .endm
- .macro jump addr
+ .macro goto destination:req
.byte 0x7F
- .4byte \addr
+ .4byte \destination
.endm
- .macro call addr
+ .macro call destination:req
.byte 0x80
- .4byte \addr
+ .4byte \destination
.endm
.macro end
@@ -492,21 +834,29 @@
.byte 0x82
.endm
- .macro if_user_has_exciting_move addr
+ .macro if_user_has_exciting_move destination:req
.byte 0x83
- .4byte \addr
+ .4byte \destination
.endm
- .macro if_user_doesnt_have_exciting_move addr
+ .macro if_user_doesnt_have_exciting_move destination:req
.byte 0x84
- .4byte \addr
+ .4byte \destination
.endm
-@ 85
-@ 86
+ .macro check_user_has_move move:req
+ .byte 0x85
+ .2byte \move
+ .endm
+
+ .macro if_user_has_move move:req, destination:req
+ .byte 0x86
+ .2byte \move
+ .4byte \destination
+ .endm
- .macro if_effect_in_user_moveset param addr
+ .macro if_effect_in_user_moveset effect:req, destination:req
.byte 0x87
- .2byte \param
- .4byte \addr
+ .2byte \effect
+ .4byte \destination
.endm