summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/contest.h41
-rw-r--r--include/constants/pokemon.h1
-rw-r--r--include/contest.h10
-rw-r--r--include/menu.h8
4 files changed, 54 insertions, 6 deletions
diff --git a/include/constants/contest.h b/include/constants/contest.h
index 5ec4c4f69..9eb6b26e4 100644
--- a/include/constants/contest.h
+++ b/include/constants/contest.h
@@ -52,6 +52,37 @@
#define CONTEST_AI_CHECK_ORDER (1 << 4)
#define CONTEST_AI_CHECK_GOOD_MOVE (1 << 5)
#define CONTEST_AI_ERRATIC (1 << 6)
+#define CONTEST_AI_DUMMY_1 (1 << 7)
+#define CONTEST_AI_DUMMY_2 (1 << 8)
+#define CONTEST_AI_DUMMY_3 (1 << 9)
+#define CONTEST_AI_DUMMY_4 (1 << 10)
+#define CONTEST_AI_DUMMY_5 (1 << 11)
+#define CONTEST_AI_DUMMY_6 (1 << 12)
+#define CONTEST_AI_DUMMY_7 (1 << 13)
+#define CONTEST_AI_DUMMY_8 (1 << 14)
+#define CONTEST_AI_DUMMY_9 (1 << 15)
+#define CONTEST_AI_DUMMY_10 (1 << 16)
+#define CONTEST_AI_DUMMY_11 (1 << 17)
+#define CONTEST_AI_DUMMY_12 (1 << 18)
+#define CONTEST_AI_DUMMY_13 (1 << 19)
+#define CONTEST_AI_DUMMY_14 (1 << 20)
+#define CONTEST_AI_DUMMY_15 (1 << 21)
+#define CONTEST_AI_DUMMY_16 (1 << 22)
+#define CONTEST_AI_DUMMY_17 (1 << 23)
+#define CONTEST_AI_DUMMY_18 (1 << 24)
+#define CONTEST_AI_DUMMY_19 (1 << 25)
+#define CONTEST_AI_DUMMY_20 (1 << 26)
+#define CONTEST_AI_DUMMY_21 (1 << 27)
+#define CONTEST_AI_DUMMY_22 (1 << 28)
+#define CONTEST_AI_DUMMY_23 (1 << 29)
+#define CONTEST_AI_DUMMY_24 (1 << 30)
+#define CONTEST_AI_DUMMY_25 (1 << 31)
+
+// The below scripts are used by every AI contest opponent
+// It includes every non-dummy script
+#define CONTEST_AI_COMMON (CONTEST_AI_CHECK_BAD_MOVE | CONTEST_AI_CHECK_COMBO | CONTEST_AI_CHECK_BORING | \
+ CONTEST_AI_CHECK_EXCITEMENT | CONTEST_AI_CHECK_ORDER | CONTEST_AI_CHECK_GOOD_MOVE | CONTEST_AI_ERRATIC | \
+ CONTEST_AI_DUMMY_1 | CONTEST_AI_DUMMY_2 | CONTEST_AI_DUMMY_3 | CONTEST_AI_DUMMY_4 | CONTEST_AI_DUMMY_5)
#define CONTEST_EFFECT_HIGHLY_APPEALING 0
#define CONTEST_EFFECT_USER_MORE_EASILY_STARTLED 1
@@ -102,6 +133,16 @@
#define CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED 46
#define CONTEST_EFFECT_DONT_EXCITE_AUDIENCE 47
+// Each of the above effects is grouped into one of these effect type categories
+// Only a few of these get checked by the AI, the rest go unused
+#define CONTEST_EFFECT_TYPE_APPEAL 0
+#define CONTEST_EFFECT_TYPE_AVOID_STARTLE 1
+#define CONTEST_EFFECT_TYPE_STARTLE_MON 2
+#define CONTEST_EFFECT_TYPE_STARTLE_MONS 3
+#define CONTEST_EFFECT_TYPE_WORSEN 4
+#define CONTEST_EFFECT_TYPE_SPECIAL_APPEAL 5
+#define CONTEST_EFFECT_TYPE_TURN_ORDER 6
+
#define COMBO_STARTER_RAIN_DANCE 1
#define COMBO_STARTER_RAGE 2
#define COMBO_STARTER_FOCUS_ENERGY 3
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index 286726838..f026fa0e3 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -230,6 +230,7 @@
#define STATUS_PRIMARY_POKERUS 6
#define STATUS_PRIMARY_FAINTED 7
+#define MAX_PER_STAT_EVS 255
#define MAX_TOTAL_EVS 510
#define EV_ITEM_RAISE_LIMIT 100
diff --git a/include/contest.h b/include/contest.h
index d008b8fce..1dd4340bd 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -90,7 +90,7 @@ struct ContestPokemon
u8 nickname[POKEMON_NAME_LENGTH + 1];
u8 trainerName[PLAYER_NAME_LENGTH + 1];
u8 trainerGfxId;
- u32 aiChecks;
+ u32 aiFlags;
u8 whichRank:2;
u8 aiPool_Cool:1;
u8 aiPool_Beauty:1;
@@ -201,7 +201,7 @@ struct ContestantStatus
bool8 repeatedMove:1;
bool8 unused2:1;
bool8 repeatedPrevMove:1; // never read
- bool8 unk15_3:1;
+ bool8 completedComboFlag:1;
bool8 hasJudgesAttention:1;
bool8 judgesAttentionWasRemoved:1;
bool8 usedComboMove:1;
@@ -231,10 +231,10 @@ struct ContestAIInfo
/*0x05*/ u8 moveScores[MAX_MON_MOVES];
/*0x09*/ u8 aiAction;
/*0x0A*/ u8 filler[6];
- /*0x10*/ u8 currentAICheck;
- /*0x14*/ u32 aiChecks;
+ /*0x10*/ u8 currentAIFlag;
+ /*0x14*/ u32 aiFlags;
/*0x18*/ s16 scriptResult;
- /*0x1A*/ s16 scriptArr[3];
+ /*0x1A*/ s16 vars[3];
/*0x20*/ const u8 *stack[8];
/*0x40*/ u8 stackSize;
/*0x41*/ u8 contestantId;
diff --git a/include/menu.h b/include/menu.h
index a57b3718f..1bd800742 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -8,6 +8,12 @@
#define MENU_NOTHING_CHOSEN -2
#define MENU_B_PRESSED -1
+#define MENU_CURSOR_DELTA_NONE 0
+#define MENU_CURSOR_DELTA_UP -1
+#define MENU_CURSOR_DELTA_DOWN 1
+#define MENU_CURSOR_DELTA_LEFT -1
+#define MENU_CURSOR_DELTA_RIGHT 1
+
enum
{
SAVE_MENU_NAME,
@@ -77,7 +83,7 @@ void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8);
u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos);
-u8 sub_8199134(s8, s8);
+u8 ChangeListMenuCursorPosition(s8 deltaX, s8 deltaY);
u8 GetStartMenuWindowId(void);
void ListMenuLoadStdPalAt(u8, u8);
u8 Menu_MoveCursor(s8 cursorDelta);