diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/contest.h | 41 | ||||
-rw-r--r-- | include/contest.h | 6 |
2 files changed, 44 insertions, 3 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/contest.h b/include/contest.h index d53aec212..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; @@ -231,8 +231,8 @@ 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 vars[3]; /*0x20*/ const u8 *stack[8]; |