Document contest AI scripts
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user