diff options
| author | Marcus Huderle <huderlem@gmail.com> | 2020-01-13 20:26:20 -0600 | 
|---|---|---|
| committer | Marcus Huderle <huderlem@gmail.com> | 2020-01-13 20:26:20 -0600 | 
| commit | 5a2d676e71b720e752ca8a624a5795b3b1d7eb6c (patch) | |
| tree | 6ef755064008dfae8ce2942dc2762670cdabe815 /include/constants | |
| parent | 5007d279fea5326b41b877703c74fcaa56223364 (diff) | |
| parent | 22931846d680de2bc585093678db3f5721aab891 (diff) | |
Merge remote-tracking branch 'upstream' into tustin2121-patch-5
Diffstat (limited to 'include/constants')
52 files changed, 5054 insertions, 1467 deletions
| diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h index 9db58bb8e..f1bea5e8c 100644 --- a/include/constants/apprentice.h +++ b/include/constants/apprentice.h @@ -1,22 +1,90 @@  #ifndef GUARD_CONSTANTS_APPRENTICE_H  #define GUARD_CONSTANTS_APPRENTICE_H -#define APPRENTICE_ASK_WHICH_LEVEL 0 -#define APPRENTICE_ASK_3SPECIES 1 -#define APPRENTICE_ASK_2SPECIES 2 -#define APPRENTICE_ASK_MOVES 3 -#define APPRENTICE_ASK_GIVE 4 -#define APPRENTICE_ASK_YES_NO 6 - -#define APPRENTICE_BUFF_SPECIES1 0 -#define APPRENTICE_BUFF_SPECIES2 1 -#define APPRENTICE_BUFF_SPECIES3 2 -#define APPRENTICE_BUFF_MOVE1 3 -#define APPRENTICE_BUFF_MOVE2 4 -#define APPRENTICE_BUFF_ITEM 5 -#define APPRENTICE_BUFF_NAME 6 -#define APPRENTICE_BUFF_EASY_CHAT 7 -#define APPRENTICE_BUFF_LEVEL 8 -#define APPRENTICE_BUFF_SPECIES4 9 +#define NUM_APPRENTICES 16 +#define APPRENTICE_SPECIES_COUNT 10 + +#define NUM_WHICH_MON_QUESTIONS  MULTI_PARTY_SIZE +#define NUM_WHICH_MOVE_QUESTIONS 5 +// + 2 below is 1 each for the lead mon question and the win speech question +#define MAX_APPRENTICE_QUESTIONS NUM_WHICH_MON_QUESTIONS + NUM_WHICH_MOVE_QUESTIONS + 2 + +#define APPRENTICE_LVL_MODE_50    (FRONTIER_LVL_50 + 1) +#define APPRENTICE_LVL_MODE_OPEN  (FRONTIER_LVL_OPEN + 1) + +#define APPRENTICE_FUNC_GAVE_LVLMODE         0 +#define APPRENTICE_FUNC_SET_LVLMODE          1 +#define APPRENTICE_FUNC_SET_ID               2 +#define APPRENTICE_FUNC_SHUFFLE_SPECIES      3 +#define APPRENTICE_FUNC_RANDOMIZE_QUESTIONS  4 +#define APPRENTICE_FUNC_ANSWERED_QUESTION    5 +#define APPRENTICE_FUNC_IS_FINAL_QUESTION    6 +#define APPRENTICE_FUNC_MENU                 7 +#define APPRENTICE_FUNC_PRINT_MSG            8 +#define APPRENTICE_FUNC_RESET                9 +#define APPRENTICE_FUNC_CHECK_GONE           10 +#define APPRENTICE_FUNC_GET_QUESTION         11 +#define APPRENTICE_FUNC_GET_NUM_PARTY_MONS   12 +#define APPRENTICE_FUNC_SET_PARTY_MON        13 +#define APPRENTICE_FUNC_INIT_QUESTION_DATA   14 +#define APPRENTICE_FUNC_FREE_QUESTION_DATA   15 +#define APPRENTICE_FUNC_BUFFER_STRING        16 +#define APPRENTICE_FUNC_SET_MOVE             17 +#define APPRENTICE_FUNC_SET_LEAD_MON         18 +#define APPRENTICE_FUNC_OPEN_BAG             19 +#define APPRENTICE_FUNC_TRY_SET_HELD_ITEM    20 +#define APPRENTICE_FUNC_SAVE                 21 +#define APPRENTICE_FUNC_SET_GFX_SAVED        22 +#define APPRENTICE_FUNC_SET_GFX              23 +#define APPRENTICE_FUNC_SHOULD_LEAVE         24 +#define APPRENTICE_FUNC_SHIFT_SAVED          25 + +#define APPRENTICE_MSG_PLEASE_TEACH             0 +#define APPRENTICE_MSG_REJECT                   1 +#define APPRENTICE_MSG_WHICH_LVL_MODE           2 +#define APPRENTICE_MSG_THANKS_LVL_MODE          3 +#define APPRENTICE_MSG_WHICH_MON_FIRST          4 +#define APPRENTICE_MSG_THANKS_MON_FIRST         5 +#define APPRENTICE_MSG_WHICH_MON                6 +#define APPRENTICE_MSG_THANKS_MON               7 +#define APPRENTICE_MSG_WHICH_MOVE               8 +#define APPRENTICE_MSG_THANKS_MOVE              9 +#define APPRENTICE_MSG_WHAT_HELD_ITEM           10 +#define APPRENTICE_MSG_PICK_WIN_SPEECH          11 +#define APPRENTICE_MSG_THANKS_HELD_ITEM         12 +#define APPRENTICE_MSG_HOLD_NOTHING             13 +#define APPRENTICE_MSG_THANKS_NO_HELD_ITEM      14 +#define APPRENTICE_MSG_THANKS_WIN_SPEECH        15 +#define APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED   16 + +#define APPRENTICE_QUESTION_WHICH_FIRST    1 +#define APPRENTICE_QUESTION_WHICH_MON      2 +#define APPRENTICE_QUESTION_WHICH_MOVE     3 +#define APPRENTICE_QUESTION_WHAT_ITEM      4 +#define APPRENTICE_QUESTION_WIN_SPEECH     5 + +// Would be redundant with the above set if they used the same values +#define QUESTION_ID_WIN_SPEECH    0 +#define QUESTION_ID_WHAT_ITEM     1 +#define QUESTION_ID_WHICH_MOVE    2 +#define QUESTION_ID_WHICH_FIRST   3 + +#define APPRENTICE_ASK_WHICH_LEVEL  0 +#define APPRENTICE_ASK_3SPECIES     1 +#define APPRENTICE_ASK_2SPECIES     2 +#define APPRENTICE_ASK_MOVES        3 +#define APPRENTICE_ASK_GIVE         4 +#define APPRENTICE_ASK_YES_NO       6 + +#define APPRENTICE_BUFF_SPECIES1         0 +#define APPRENTICE_BUFF_SPECIES2         1 +#define APPRENTICE_BUFF_SPECIES3         2 +#define APPRENTICE_BUFF_MOVE1            3 +#define APPRENTICE_BUFF_MOVE2            4 +#define APPRENTICE_BUFF_ITEM             5 +#define APPRENTICE_BUFF_NAME             6 +#define APPRENTICE_BUFF_WIN_SPEECH       7 +#define APPRENTICE_BUFF_LEVEL            8 +#define APPRENTICE_BUFF_LEAD_MON_SPECIES 9  #endif // GUARD_CONSTANTS_APPRENTICE_H diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 0a023f0c2..0fe231cdc 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -237,7 +237,7 @@  #define ANIM_TAG_SPOTLIGHT                  (ANIM_SPRITES_START + 227)  #define ANIM_TAG_LETTER_Z                   (ANIM_SPRITES_START + 228)  #define ANIM_TAG_RAPID_SPIN                 (ANIM_SPRITES_START + 229) -#define ANIM_TAG_TRI_FORCE_TRIANGLE         (ANIM_SPRITES_START + 230) +#define ANIM_TAG_TRI_ATTACK_TRIANGLE        (ANIM_SPRITES_START + 230)  #define ANIM_TAG_WISP_ORB                   (ANIM_SPRITES_START + 231)  #define ANIM_TAG_WISP_FIRE                  (ANIM_SPRITES_START + 232)  #define ANIM_TAG_GOLD_STARS                 (ANIM_SPRITES_START + 233) diff --git a/include/constants/battle_arena.h b/include/constants/battle_arena.h new file mode 100644 index 000000000..e04211115 --- /dev/null +++ b/include/constants/battle_arena.h @@ -0,0 +1,20 @@ +#ifndef GUARD_CONSTANTS_BATTLE_ARENA_H +#define GUARD_CONSTANTS_BATTLE_ARENA_H + +#define BATTLE_ARENA_FUNC_INIT              0 +#define BATTLE_ARENA_FUNC_GET_DATA          1 +#define BATTLE_ARENA_FUNC_SET_DATA          2 +#define BATTLE_ARENA_FUNC_SAVE              3 +#define BATTLE_ARENA_FUNC_SET_PRIZE         4 +#define BATTLE_ARENA_FUNC_GIVE_PRIZE        5 +#define BATTLE_ARENA_FUNC_GET_TRAINER_NAME  6 + +#define ARENA_DATA_PRIZE              0 +#define ARENA_DATA_WIN_STREAK         1 +#define ARENA_DATA_WIN_STREAK_ACTIVE  2 + +#define ARENA_CATEGORY_MIND  0 +#define ARENA_CATEGORY_SKILL 1 +#define ARENA_CATEGORY_BODY  2 + +#endif //GUARD_CONSTANTS_BATTLE_ARENA_H diff --git a/include/constants/battle_dome.h b/include/constants/battle_dome.h new file mode 100644 index 000000000..ea7310e55 --- /dev/null +++ b/include/constants/battle_dome.h @@ -0,0 +1,163 @@ +#ifndef GUARD_CONSTANTS_BATTLE_DOME_H +#define GUARD_CONSTANTS_BATTLE_DOME_H + +#define DOME_ROUND1        0 +#define DOME_ROUND2        1 +#define DOME_SEMIFINAL     2 +#define DOME_FINAL         3 +#define DOME_ROUNDS_COUNT  4 + +//#define DOME_TOURNAMENT_TRAINERS_COUNT 16 -- defined in global +#define DOME_TOURNAMENT_MATCHES_COUNT  DOME_TOURNAMENT_TRAINERS_COUNT - 1 + +#define DOME_BATTLE_PARTY_SIZE  2 + +#define DOME_PLAYER_WON_MATCH  1 +#define DOME_PLAYER_LOST_MATCH 2 +#define DOME_PLAYER_RETIRED    9 + +#define BATTLE_DOME_FUNC_INIT                       0 +#define BATTLE_DOME_FUNC_GET_DATA                   1 +#define BATTLE_DOME_FUNC_SET_DATA                   2 +#define BATTLE_DOME_FUNC_GET_ROUND_TEXT             3 +#define BATTLE_DOME_FUNC_GET_OPPONENT_NAME          4 +#define BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY        5 +#define BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO         6 +#define BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE          7 +#define BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE     8 +#define BATTLE_DOME_FUNC_SET_OPPONENT_ID            9 +#define BATTLE_DOME_FUNC_SET_OPPONENT_GFX           10 +#define BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE   11 +#define BATTLE_DOME_FUNC_RESOLVE_WINNERS            12 +#define BATTLE_DOME_FUNC_SAVE                       13 +#define BATTLE_DOME_FUNC_INCREMENT_STREAK           14 +#define BATTLE_DOME_FUNC_SET_TRAINERS               15 +#define BATTLE_DOME_FUNC_RESET_SKETCH               16 +#define BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS         17 +#define BATTLE_DOME_FUNC_REDUCE_PARTY               18 +#define BATTLE_DOME_FUNC_COMPARE_SEEDS              19 +#define BATTLE_DOME_FUNC_GET_WINNER_NAME            20 +#define BATTLE_DOME_FUNC_INIT_RESULTS_TREE          21 +#define BATTLE_DOME_FUNC_INIT_TRAINERS              22 + +#define DOME_DATA_WIN_STREAK              0 +#define DOME_DATA_WIN_STREAK_ACTIVE       1 +#define DOME_DATA_ATTEMPTED_SINGLES_50    2 +#define DOME_DATA_ATTEMPTED_SINGLES_OPEN  3 +#define DOME_DATA_HAS_WON_SINGLES_50      4 +#define DOME_DATA_HAS_WON_SINGLES_OPEN    5 +#define DOME_DATA_ATTEMPTED_CHALLENGE     6 +#define DOME_DATA_HAS_WON_CHALLENGE       7 +#define DOME_DATA_SELECTED_MONS           8 +#define DOME_DATA_PREV_TOURNEY_TYPE       9 + +// ID for Exit/Cancel on the tourney tree +#define TOURNEY_TREE_CLOSE_BUTTON  31 + +// Input IDs on the tourney tree +#define TOURNEY_TREE_SELECTED_CLOSE   0 +#define TOURNEY_TREE_NO_SELECTION     1 +#define TOURNEY_TREE_SELECTED_TRAINER 2 +#define TOURNEY_TREE_SELECTED_MATCH   3 + +// Modes for showing the tourney tree info card +#define INFOCARD_NEXT_OPPONENT  0 +#define INFOCARD_TRAINER        1 +#define INFOCARD_MATCH          2 + +// Input IDs for the info cards +#define INFOCARD_INPUT_NONE      0 +#define TRAINERCARD_INPUT_UP     1 +#define TRAINERCARD_INPUT_DOWN   2 +#define TRAINERCARD_INPUT_LEFT   3 +#define TRAINERCARD_INPUT_RIGHT  4 +#define MATCHCARD_INPUT_UP       5 +#define MATCHCARD_INPUT_DOWN     6 +#define MATCHCARD_INPUT_LEFT     7 +#define MATCHCARD_INPUT_RIGHT    8 +#define INFOCARD_INPUT_AB        9 + +#define CARD_ALTERNATE_SLOT (1 << 0) // When set, uses an alternate slot to store the incoming card sprites +#define MOVE_CARD_RIGHT     (1 << 1) +#define MOVE_CARD_DOWN      (1 << 2) +#define MOVE_CARD_LEFT      (1 << 3) +#define MOVE_CARD_UP        (1 << 4) +#define MOVE_CARD           (MOVE_CARD_RIGHT | MOVE_CARD_DOWN | MOVE_CARD_LEFT | MOVE_CARD_UP) + +// Text IDs for sBattleDomeWinTexts +#define DOME_TEXT_NO_WINNER_YET     0 +#define DOME_TEXT_WON_USING_MOVE    1 +#define DOME_TEXT_CHAMP_USING_MOVE  2 +#define DOME_TEXT_WON_ON_FORFEIT    3 +#define DOME_TEXT_CHAMP_ON_FORFEIT  4 +#define DOME_TEXT_WON_NO_MOVES      5 +#define DOME_TEXT_CHAMP_NO_MOVES    6 + +// Offsets/start positions within sBattleDomeOpponentStatsTexts +#define DOME_TEXT_TWO_GOOD_STATS   0 +#define DOME_TEXT_ONE_GOOD_STAT    15 +#define DOME_TEXT_TWO_BAD_STATS    21 +#define DOME_TEXT_ONE_BAD_STAT     36 +#define DOME_TEXT_WELL_BALANCED    42 +#define DOME_TEXT_HP    0 +#define DOME_TEXT_ATK   5 +#define DOME_TEXT_DEF   9 +#define DOME_TEXT_SPEED 12 +#define DOME_TEXT_SPATK 14 + +// Move point indexes for sBattleStyleMovePoints[][], to determine Battle Dome trainers battle styles +#define MOVE_POINTS_COMBO      0   // Moves that work well in combination (e.g. Rain Dance + Hydro Pump) +#define MOVE_POINTS_STAT_RAISE 1 +#define MOVE_POINTS_STAT_LOWER 2 +#define MOVE_POINTS_RARE       3   // Uncommon moves. Mostly arbitrary +#define MOVE_POINTS_HEAL       4 +#define MOVE_POINTS_RISKY      5 +#define MOVE_POINTS_STATUS     6 +#define MOVE_POINTS_DMG        7 +#define MOVE_POINTS_DEF        8   // Defensive moves, like Amnesia, Light Screen, or accuracy-lowers +#define MOVE_POINTS_ACCURATE   9 +#define MOVE_POINTS_POWERFUL   10  // Most of the moves that are >= 100 power +#define MOVE_POINTS_POPULAR    11  // Group seems arbitrary. All using it are TM/HMs, but its only 11/58 +#define MOVE_POINTS_LUCK       12   +#define MOVE_POINTS_STRONG     13  // Most of the moves that are >= 90 power +#define MOVE_POINTS_LOW_PP     14 +#define MOVE_POINTS_EFFECT     15  // Moves with additional effects +#define NUM_MOVE_POINT_TYPES   16 + +// Battle style IDs for sBattleDomeOpponentStyleTexts +#define DOME_BATTLE_STYLE_RISKY           0 +#define DOME_BATTLE_STYLE_STALL           1 +#define DOME_BATTLE_STYLE_VARIED          2 +#define DOME_BATTLE_STYLE_COMBO_HIGH      3 +#define DOME_BATTLE_STYLE_RARE_MOVES      4 +#define DOME_BATTLE_STYLE_RARE_MOVE       5 +#define DOME_BATTLE_STYLE_HP              6 +#define DOME_BATTLE_STYLE_STORE_POWER     7 +#define DOME_BATTLE_STYLE_ENFEEBLE_LOW    8 +#define DOME_BATTLE_STYLE_LUCK            9 +#define DOME_BATTLE_STYLE_REGAL           10 +#define DOME_BATTLE_STYLE_LOW_PP          11 +#define DOME_BATTLE_STYLE_STATUS_ATK      12 +#define DOME_BATTLE_STYLE_ENDURE          13 +#define DOME_BATTLE_STYLE_STATUS          14 +#define DOME_BATTLE_STYLE_STRAIGHTFORWARD 15 +#define DOME_BATTLE_STYLE_AGGRESSIVE      16 +#define DOME_BATTLE_STYLE_DEF             17 +#define DOME_BATTLE_STYLE_ENFEEBLE_HIGH   18 +#define DOME_BATTLE_STYLE_POPULAR_POWER   19 +#define DOME_BATTLE_STYLE_COMBO_LOW       20 +#define DOME_BATTLE_STYLE_ACCURATE        21 +#define DOME_BATTLE_STYLE_POWERFUL        22 +#define DOME_BATTLE_STYLE_ATK_OVER_DEF    23 +#define DOME_BATTLE_STYLE_DEF_OVER_ATK    24 +#define DOME_BATTLE_STYLE_POPULAR_STRONG  25 +#define DOME_BATTLE_STYLE_EFFECTS         26 +#define DOME_BATTLE_STYLE_BALANCED        27 +#define DOME_BATTLE_STYLE_UNUSED1         28 +#define DOME_BATTLE_STYLE_UNUSED2         29 +#define DOME_BATTLE_STYLE_UNUSED3         30 +#define DOME_BATTLE_STYLE_UNUSED4         31 +#define NUM_BATTLE_STYLES                 32 + + +#endif //GUARD_CONSTANTS_BATTLE_DOME_H diff --git a/include/constants/battle_factory.h b/include/constants/battle_factory.h new file mode 100644 index 000000000..b3aa57449 --- /dev/null +++ b/include/constants/battle_factory.h @@ -0,0 +1,37 @@ +#ifndef GUARD_CONSTANTS_BATTLE_FACTORY_H +#define GUARD_CONSTANTS_BATTLE_FACTORY_H + +#define FACTORY_STYLE_NONE           0 +#define FACTORY_STYLE_PREPARATION    1 +#define FACTORY_STYLE_SLOW_STEADY    2 +#define FACTORY_STYLE_ENDURANCE      3 +#define FACTORY_STYLE_HIGH_RISK      4 +#define FACTORY_STYLE_WEAKENING      5 +#define FACTORY_STYLE_UNPREDICTABLE  6 +#define FACTORY_STYLE_WEATHER        7 +#define FACTORY_NUM_STYLES           8 + + +#define BATTLE_FACTORY_FUNC_INIT                    0 +#define BATTLE_FACTORY_FUNC_GET_DATA                1 +#define BATTLE_FACTORY_FUNC_SET_DATA                2 +#define BATTLE_FACTORY_FUNC_SAVE                    3 +#define BATTLE_FACTORY_FUNC_NULL                    4 +#define BATTLE_FACTORY_FUNC_NULL2                   5 +#define BATTLE_FACTORY_FUNC_SELECT_RENT_MONS        6 +#define BATTLE_FACTORY_FUNC_SWAP_RENT_MONS          7 +#define BATTLE_FACTORY_FUNC_SET_SWAPPED             8 +#define BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS       9 +#define BATTLE_FACTORY_FUNC_SET_PARTIES             10 +#define BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX        11 +#define BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS  12 +#define BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS    13 +#define BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE   14 +#define BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE      15 +#define BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS        16 + +#define FACTORY_DATA_WIN_STREAK         1 +#define FACTORY_DATA_WIN_STREAK_ACTIVE  2 +#define FACTORY_DATA_WIN_STREAK_SWAPS   3 + +#endif // GUARD_CONSTANTS_BATTLE_FACTORY_H diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index 1224c0f31..1a60714e8 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -1,32 +1,39 @@  #ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_H  #define GUARD_CONSTANTS_BATTLE_FRONTIER_H +#define FRONTIER_CHALLENGE(facility, mode) ((facility << 8) + mode) +  // Battle Frontier facility ids. -#define FRONTIER_FACILITY_TOWER 0 -#define FRONTIER_FACILITY_DOME 1 -#define FRONTIER_FACILITY_PALACE 2 -#define FRONTIER_FACILITY_ARENA 3 -#define FRONTIER_FACILITY_FACTORY 4 -#define FRONTIER_FACILITY_PIKE 5 -#define FRONTIER_FACILITY_PYRAMID 6 -#define NUM_FRONTIER_FACILITIES 7 -// The multiplayer battle colosseum rooms re-use VAR_FRONTIER_FACILITY. -#define FRONTIER_FACILITY_DOUBLE_COLOSSEUM 9 - -#define TENT_VERDANTURF 2 -#define TENT_FALLARBOR 3 -#define TENT_SLATEPORT 4 +#define FRONTIER_FACILITY_TOWER    0 +#define FRONTIER_FACILITY_DOME     1 +#define FRONTIER_FACILITY_PALACE   2  // also Verdanturf Tent +#define FRONTIER_FACILITY_ARENA    3  // also Fallarbor Tent +#define FRONTIER_FACILITY_FACTORY  4  // also Slateport Tent +#define FRONTIER_FACILITY_PIKE     5 +#define FRONTIER_FACILITY_PYRAMID  6 +#define NUM_FRONTIER_FACILITIES    7 +// VAR_FRONTIER_FACILITY is re-used for the below facilities as well +#define FACILITY_LINK_CONTEST      7 +#define FACILITY_UNION_ROOM        8 +#define FACILITY_MULTI_OR_EREADER  9  // Direct Corner multi battles, multi battle with Steven, and e-Reader battles  // Battle Frontier lvl modes. -#define FRONTIER_LVL_50 0 +#define FRONTIER_LVL_50   0  #define FRONTIER_LVL_OPEN 1  #define FRONTIER_LVL_TENT 2  // Battle Frontier battle modes. -#define FRONTIER_MODE_SINGLES 0 -#define FRONTIER_MODE_DOUBLES 1 -#define FRONTIER_MODE_MULTIS 2 -#define FRONTIER_MODE_LINK_MULTIS 3 +#define FRONTIER_MODE_SINGLES      0 +#define FRONTIER_MODE_DOUBLES      1 +#define FRONTIER_MODE_MULTIS       2 +#define FRONTIER_MODE_LINK_MULTIS  3 +#define FRONTIER_MODE_COUNT        4 + +// Challenge Statuses +#define CHALLENGE_STATUS_SAVING   1 +#define CHALLENGE_STATUS_PAUSED   2 +#define CHALLENGE_STATUS_WON      3 +#define CHALLENGE_STATUS_LOST     4  // Special trainer battles.  #define SPECIAL_BATTLE_TOWER 0 @@ -41,8 +48,53 @@  #define SPECIAL_BATTLE_PIKE_DOUBLE 9  #define SPECIAL_BATTLE_PYRAMID 10 -// For 'ShowFacilityResultsWindow' function which is a part of the 'CallFrontierUtilFunc' special. -#define RESULTS_LINK_CONTEST 7 +#define MAX_BATTLE_FRONTIER_POINTS 9999 +#define MAX_STREAK 9999 + +// These sets of facility ids would be redunant if the order was consistent +// The order is important for this set so that all the non-link records can be continuous +#define RANKING_HALL_BATTLE_TOWER_SINGLES   0 +#define RANKING_HALL_BATTLE_TOWER_DOUBLES   1 +#define RANKING_HALL_BATTLE_TOWER_MULTIS    2 +#define RANKING_HALL_BATTLE_DOME            3 +#define RANKING_HALL_BATTLE_PALACE          4 +#define RANKING_HALL_BATTLE_ARENA           5 +#define RANKING_HALL_BATTLE_FACTORY         6 +#define RANKING_HALL_BATTLE_PIKE            7 +#define RANKING_HALL_BATTLE_PYRAMID         8 +#define RANKING_HALL_BATTLE_TOWER_LINK      9 + +#define FRONTIER_MANIAC_BATTLE_TOWER_SINGLES   0 +#define FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES   1 +#define FRONTIER_MANIAC_BATTLE_TOWER_MULTIS    2 +#define FRONTIER_MANIAC_BATTLE_TOWER_LINK      3 +#define FRONTIER_MANIAC_BATTLE_DOME            4 +#define FRONTIER_MANIAC_BATTLE_FACTORY         5 +#define FRONTIER_MANIAC_BATTLE_PALACE          6 +#define FRONTIER_MANIAC_BATTLE_ARENA           7 +#define FRONTIER_MANIAC_BATTLE_PIKE            8 +#define FRONTIER_MANIAC_BATTLE_PYRAMID         9 +#define FRONTIER_MANIAC_FACILITY_COUNT        10 + +#define FRONTIER_MANIAC_MESSAGE_COUNT 3 + +// Frontier Gambler +#define FRONTIER_GAMBLER_WAITING     0 +#define FRONTIER_GAMBLER_PLACED_BET  1 +#define FRONTIER_GAMBLER_WON         2 +#define FRONTIER_GAMBLER_LOST        3 + +#define FRONTIER_GAMBLER_BET_5      0 +#define FRONTIER_GAMBLER_BET_10     1 +#define FRONTIER_GAMBLER_BET_15     2 +#define FRONTIER_GAMBLER_BET_CANCEL 3 + +#define FRONTIER_GAMBLER_CHALLENGE_COUNT 12 + +#define EXCHANGE_CORNER_DECOR1_CLERK     0 +#define EXCHANGE_CORNER_DECOR2_CLERK     1 +#define EXCHANGE_CORNER_VITAMIN_CLERK    2 +#define EXCHANGE_CORNER_HOLD_ITEM_CLERK  3  #define F_EV_SPREAD_HP         (1 << 0)  #define F_EV_SPREAD_ATTACK     (1 << 1) diff --git a/include/constants/battle_frontier_mons.h b/include/constants/battle_frontier_mons.h new file mode 100644 index 000000000..10e68980a --- /dev/null +++ b/include/constants/battle_frontier_mons.h @@ -0,0 +1,899 @@ +#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H +#define GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H + +#define FRONTIER_MON_SUNKERN        0 +#define FRONTIER_MON_AZURILL        1 +#define FRONTIER_MON_CATERPIE       2 +#define FRONTIER_MON_WEEDLE         3 +#define FRONTIER_MON_WURMPLE        4 +#define FRONTIER_MON_RALTS          5 +#define FRONTIER_MON_MAGIKARP       6 +#define FRONTIER_MON_FEEBAS         7 +#define FRONTIER_MON_METAPOD        8 +#define FRONTIER_MON_KAKUNA         9 +#define FRONTIER_MON_PICHU          10 +#define FRONTIER_MON_SILCOON        11 +#define FRONTIER_MON_CASCOON        12 +#define FRONTIER_MON_IGGLYBUFF      13 +#define FRONTIER_MON_WOOPER         14 +#define FRONTIER_MON_TYROGUE        15 +#define FRONTIER_MON_SENTRET        16 +#define FRONTIER_MON_CLEFFA         17 +#define FRONTIER_MON_SEEDOT         18 +#define FRONTIER_MON_LOTAD          19 +#define FRONTIER_MON_POOCHYENA      20 +#define FRONTIER_MON_SHEDINJA       21 +#define FRONTIER_MON_MAKUHITA       22 +#define FRONTIER_MON_WHISMUR        23 +#define FRONTIER_MON_ZIGZAGOON      24 +#define FRONTIER_MON_ZUBAT          25 +#define FRONTIER_MON_TOGEPI         26 +#define FRONTIER_MON_SPINARAK       27 +#define FRONTIER_MON_MARILL         28 +#define FRONTIER_MON_HOPPIP         29 +#define FRONTIER_MON_SLUGMA         30 +#define FRONTIER_MON_SWINUB         31 +#define FRONTIER_MON_SMEARGLE       32 +#define FRONTIER_MON_PIDGEY         33 +#define FRONTIER_MON_RATTATA        34 +#define FRONTIER_MON_WYNAUT         35 +#define FRONTIER_MON_SKITTY         36 +#define FRONTIER_MON_SPEAROW        37 +#define FRONTIER_MON_HOOTHOOT       38 +#define FRONTIER_MON_DIGLETT        39 +#define FRONTIER_MON_LEDYBA         40 +#define FRONTIER_MON_NINCADA        41 +#define FRONTIER_MON_SURSKIT        42 +#define FRONTIER_MON_JIGGLYPUFF     43 +#define FRONTIER_MON_TAILLOW        44 +#define FRONTIER_MON_WINGULL        45 +#define FRONTIER_MON_NIDORAN_M      46 +#define FRONTIER_MON_NIDORAN_F      47 +#define FRONTIER_MON_KIRLIA         48 +#define FRONTIER_MON_MAREEP         49 +#define FRONTIER_MON_MEDITITE       50 +#define FRONTIER_MON_SLAKOTH        51 +#define FRONTIER_MON_PARAS          52 +#define FRONTIER_MON_EKANS          53 +#define FRONTIER_MON_DITTO          54 +#define FRONTIER_MON_BARBOACH       55 +#define FRONTIER_MON_MEOWTH         56 +#define FRONTIER_MON_PINECO         57 +#define FRONTIER_MON_TRAPINCH       58 +#define FRONTIER_MON_SPHEAL         59 +#define FRONTIER_MON_HORSEA         60 +#define FRONTIER_MON_SHROOMISH      61 +#define FRONTIER_MON_SHUPPET        62 +#define FRONTIER_MON_DUSKULL        63 +#define FRONTIER_MON_ELECTRIKE      64 +#define FRONTIER_MON_VULPIX         65 +#define FRONTIER_MON_PIKACHU        66 +#define FRONTIER_MON_SANDSHREW      67 +#define FRONTIER_MON_POLIWAG        68 +#define FRONTIER_MON_BELLSPROUT     69 +#define FRONTIER_MON_GEODUDE        70 +#define FRONTIER_MON_DRATINI        71 +#define FRONTIER_MON_SNUBBULL       72 +#define FRONTIER_MON_REMORAID       73 +#define FRONTIER_MON_LARVITAR       74 +#define FRONTIER_MON_BALTOY         75 +#define FRONTIER_MON_SNORUNT        76 +#define FRONTIER_MON_BAGON          77 +#define FRONTIER_MON_BELDUM         78 +#define FRONTIER_MON_GULPIN         79 +#define FRONTIER_MON_VENONAT        80 +#define FRONTIER_MON_MANKEY         81 +#define FRONTIER_MON_MACHOP         82 +#define FRONTIER_MON_SHELLDER       83 +#define FRONTIER_MON_SMOOCHUM       84 +#define FRONTIER_MON_NUMEL          85 +#define FRONTIER_MON_CARVANHA       86 +#define FRONTIER_MON_CORPHISH       87 +#define FRONTIER_MON_CHARMANDER     88 +#define FRONTIER_MON_CYNDAQUIL      89 +#define FRONTIER_MON_ABRA           90 +#define FRONTIER_MON_DODUO          91 +#define FRONTIER_MON_GASTLY         92 +#define FRONTIER_MON_SWABLU         93 +#define FRONTIER_MON_TREECKO        94 +#define FRONTIER_MON_TORCHIC        95 +#define FRONTIER_MON_MUDKIP         96 +#define FRONTIER_MON_SQUIRTLE       97 +#define FRONTIER_MON_TOTODILE       98 +#define FRONTIER_MON_SLOWPOKE       99 +#define FRONTIER_MON_BULBASAUR      100 +#define FRONTIER_MON_CHIKORITA      101 +#define FRONTIER_MON_ODDISH         102 +#define FRONTIER_MON_PSYDUCK        103 +#define FRONTIER_MON_CUBONE         104 +#define FRONTIER_MON_GOLDEEN        105 +#define FRONTIER_MON_NATU           106 +#define FRONTIER_MON_CLEFAIRY       107 +#define FRONTIER_MON_MAGNEMITE      108 +#define FRONTIER_MON_SEEL           109 +#define FRONTIER_MON_GRIMER         110 +#define FRONTIER_MON_KRABBY         111 +#define FRONTIER_MON_EXEGGCUTE      112 +#define FRONTIER_MON_EEVEE          113 +#define FRONTIER_MON_DROWZEE        114 +#define FRONTIER_MON_VOLTORB        115 +#define FRONTIER_MON_CHINCHOU       116 +#define FRONTIER_MON_TEDDIURSA      117 +#define FRONTIER_MON_DELIBIRD       118 +#define FRONTIER_MON_HOUNDOUR       119 +#define FRONTIER_MON_PHANPY         120 +#define FRONTIER_MON_SPOINK         121 +#define FRONTIER_MON_ARON           122 +#define FRONTIER_MON_LUVDISC        123 +#define FRONTIER_MON_TENTACOOL      124 +#define FRONTIER_MON_CACNEA         125 +#define FRONTIER_MON_UNOWN          126 +#define FRONTIER_MON_KOFFING        127 +#define FRONTIER_MON_STARYU         128 +#define FRONTIER_MON_SKIPLOOM       129 +#define FRONTIER_MON_NUZLEAF        130 +#define FRONTIER_MON_LOMBRE         131 +#define FRONTIER_MON_VIBRAVA        132 +#define FRONTIER_MON_RHYHORN        133 +#define FRONTIER_MON_CLAMPERL       134 +#define FRONTIER_MON_PIDGEOTTO      135 +#define FRONTIER_MON_GROWLITHE      136 +#define FRONTIER_MON_FARFETCHD      137 +#define FRONTIER_MON_OMANYTE        138 +#define FRONTIER_MON_KABUTO         139 +#define FRONTIER_MON_LILEEP         140 +#define FRONTIER_MON_ANORITH        141 +#define FRONTIER_MON_AIPOM          142 +#define FRONTIER_MON_ELEKID         143 +#define FRONTIER_MON_LOUDRED        144 +#define FRONTIER_MON_SPINDA         145 +#define FRONTIER_MON_NIDORINA       146 +#define FRONTIER_MON_NIDORINO       147 +#define FRONTIER_MON_FLAAFFY        148 +#define FRONTIER_MON_MAGBY          149 +#define FRONTIER_MON_NOSEPASS       150 +#define FRONTIER_MON_CORSOLA        151 +#define FRONTIER_MON_MAWILE         152 +#define FRONTIER_MON_BUTTERFREE     153 +#define FRONTIER_MON_BEEDRILL       154 +#define FRONTIER_MON_POLIWHIRL      155 +#define FRONTIER_MON_ONIX           156 +#define FRONTIER_MON_BEAUTIFLY      157 +#define FRONTIER_MON_DUSTOX         158 +#define FRONTIER_MON_LEDIAN         159 +#define FRONTIER_MON_ARIADOS        160 +#define FRONTIER_MON_YANMA          161 + +#define FRONTIER_MON_DELCATTY_1     162 +#define FRONTIER_MON_SABLEYE_1      163 +#define FRONTIER_MON_LICKITUNG_1    164 +#define FRONTIER_MON_WEEPINBELL_1   165 +#define FRONTIER_MON_GRAVELER_1     166 +#define FRONTIER_MON_GLOOM_1        167 +#define FRONTIER_MON_PORYGON_1      168 +#define FRONTIER_MON_KADABRA_1      169 +#define FRONTIER_MON_WAILMER_1      170 +#define FRONTIER_MON_ROSELIA_1      171 +#define FRONTIER_MON_VOLBEAT_1      172 +#define FRONTIER_MON_ILLUMISE_1     173 +#define FRONTIER_MON_IVYSAUR_1      174 +#define FRONTIER_MON_CHARMELEON_1   175 +#define FRONTIER_MON_WARTORTLE_1    176 +#define FRONTIER_MON_PARASECT_1     177 +#define FRONTIER_MON_MACHOKE_1      178 +#define FRONTIER_MON_HAUNTER_1      179 +#define FRONTIER_MON_BAYLEEF_1      180 +#define FRONTIER_MON_QUILAVA_1      181 +#define FRONTIER_MON_CROCONAW_1     182 +#define FRONTIER_MON_TOGETIC_1      183 +#define FRONTIER_MON_MURKROW_1      184 +#define FRONTIER_MON_WOBBUFFET_1    185 +#define FRONTIER_MON_PLUSLE_1       186 +#define FRONTIER_MON_MINUN_1        187 +#define FRONTIER_MON_GROVYLE_1      188 +#define FRONTIER_MON_COMBUSKEN_1    189 +#define FRONTIER_MON_MARSHTOMP_1    190 +#define FRONTIER_MON_PONYTA_1       191 +#define FRONTIER_MON_AZUMARILL_1    192 +#define FRONTIER_MON_SUDOWOODO_1    193 +#define FRONTIER_MON_MAGCARGO_1     194 +#define FRONTIER_MON_PUPITAR_1      195 +#define FRONTIER_MON_SEALEO_1       196 +#define FRONTIER_MON_RATICATE_1     197 +#define FRONTIER_MON_MASQUERAIN_1   198 +#define FRONTIER_MON_FURRET_1       199 +#define FRONTIER_MON_DUNSPARCE_1    200 +#define FRONTIER_MON_DRAGONAIR_1    201 +#define FRONTIER_MON_MIGHTYENA_1    202 +#define FRONTIER_MON_LINOONE_1      203 +#define FRONTIER_MON_CASTFORM_1     204 +#define FRONTIER_MON_SHELGON_1      205 +#define FRONTIER_MON_METANG_1       206 +#define FRONTIER_MON_WIGGLYTUFF_1   207 +#define FRONTIER_MON_SUNFLORA_1     208 +#define FRONTIER_MON_CHIMECHO_1     209 +#define FRONTIER_MON_GLIGAR_1       210 +#define FRONTIER_MON_QWILFISH_1     211 +#define FRONTIER_MON_SNEASEL_1      212 +#define FRONTIER_MON_PELIPPER_1     213 +#define FRONTIER_MON_SWELLOW_1      214 +#define FRONTIER_MON_LAIRON_1       215 +#define FRONTIER_MON_TANGELA_1      216 +#define FRONTIER_MON_ARBOK_1        217 +#define FRONTIER_MON_PERSIAN_1      218 +#define FRONTIER_MON_SEADRA_1       219 +#define FRONTIER_MON_KECLEON_1      220 +#define FRONTIER_MON_VIGOROTH_1     221 +#define FRONTIER_MON_LUNATONE_1     222 +#define FRONTIER_MON_SOLROCK_1      223 +#define FRONTIER_MON_NOCTOWL_1      224 +#define FRONTIER_MON_SANDSLASH_1    225 +#define FRONTIER_MON_VENOMOTH_1     226 +#define FRONTIER_MON_CHANSEY_1      227 +#define FRONTIER_MON_SEAKING_1      228 +#define FRONTIER_MON_JUMPLUFF_1     229 +#define FRONTIER_MON_PILOSWINE_1    230 +#define FRONTIER_MON_GOLBAT_1       231 +#define FRONTIER_MON_PRIMEAPE_1     232 +#define FRONTIER_MON_HITMONLEE_1    233 +#define FRONTIER_MON_HITMONCHAN_1   234 +#define FRONTIER_MON_GIRAFARIG_1    235 +#define FRONTIER_MON_HITMONTOP_1    236 +#define FRONTIER_MON_BANETTE_1      237 +#define FRONTIER_MON_NINJASK_1      238 +#define FRONTIER_MON_SEVIPER_1      239 +#define FRONTIER_MON_ZANGOOSE_1     240 +#define FRONTIER_MON_CAMERUPT_1     241 +#define FRONTIER_MON_SHARPEDO_1     242 +#define FRONTIER_MON_TROPIUS_1      243 +#define FRONTIER_MON_MAGNETON_1     244 +#define FRONTIER_MON_MANTINE_1      245 +#define FRONTIER_MON_STANTLER_1     246 +#define FRONTIER_MON_ABSOL_1        247 +#define FRONTIER_MON_SWALOT_1       248 +#define FRONTIER_MON_CRAWDAUNT_1    249 +#define FRONTIER_MON_PIDGEOT_1      250 +#define FRONTIER_MON_GRUMPIG_1      251 +#define FRONTIER_MON_TORKOAL_1      252 +#define FRONTIER_MON_KINGLER_1      253 +#define FRONTIER_MON_CACTURNE_1     254 +#define FRONTIER_MON_BELLOSSOM_1    255 +#define FRONTIER_MON_OCTILLERY_1    256 +#define FRONTIER_MON_HUNTAIL_1      257 +#define FRONTIER_MON_GOREBYSS_1     258 +#define FRONTIER_MON_RELICANTH_1    259 +#define FRONTIER_MON_OMASTAR_1      260 +#define FRONTIER_MON_KABUTOPS_1     261 +#define FRONTIER_MON_POLIWRATH_1    262 +#define FRONTIER_MON_SCYTHER_1      263 +#define FRONTIER_MON_PINSIR_1       264 +#define FRONTIER_MON_POLITOED_1     265 +#define FRONTIER_MON_CLOYSTER_1     266 + +#define FRONTIER_MON_DELCATTY_2     267 +#define FRONTIER_MON_SABLEYE_2      268 +#define FRONTIER_MON_LICKITUNG_2    269 +#define FRONTIER_MON_WEEPINBELL_2   270 +#define FRONTIER_MON_GRAVELER_2     271 +#define FRONTIER_MON_GLOOM_2        272 +#define FRONTIER_MON_PORYGON_2      273 +#define FRONTIER_MON_KADABRA_2      274 +#define FRONTIER_MON_WAILMER_2      275 +#define FRONTIER_MON_ROSELIA_2      276 +#define FRONTIER_MON_VOLBEAT_2      277 +#define FRONTIER_MON_ILLUMISE_2     278 +#define FRONTIER_MON_IVYSAUR_2      279 +#define FRONTIER_MON_CHARMELEON_2   280 +#define FRONTIER_MON_WARTORTLE_2    281 +#define FRONTIER_MON_PARASECT_2     282 +#define FRONTIER_MON_MACHOKE_2      283 +#define FRONTIER_MON_HAUNTER_2      284 +#define FRONTIER_MON_BAYLEEF_2      285 +#define FRONTIER_MON_QUILAVA_2      286 +#define FRONTIER_MON_CROCONAW_2     287 +#define FRONTIER_MON_TOGETIC_2      288 +#define FRONTIER_MON_MURKROW_2      289 +#define FRONTIER_MON_WOBBUFFET_2    290 +#define FRONTIER_MON_PLUSLE_2       291 +#define FRONTIER_MON_MINUN_2        292 +#define FRONTIER_MON_GROVYLE_2      293 +#define FRONTIER_MON_COMBUSKEN_2    294 +#define FRONTIER_MON_MARSHTOMP_2    295 +#define FRONTIER_MON_PONYTA_2       296 +#define FRONTIER_MON_AZUMARILL_2    297 +#define FRONTIER_MON_SUDOWOODO_2    298 +#define FRONTIER_MON_MAGCARGO_2     299 +#define FRONTIER_MON_PUPITAR_2      300 +#define FRONTIER_MON_SEALEO_2       301 +#define FRONTIER_MON_RATICATE_2     302 +#define FRONTIER_MON_MASQUERAIN_2   303 +#define FRONTIER_MON_FURRET_2       304 +#define FRONTIER_MON_DUNSPARCE_2    305 +#define FRONTIER_MON_DRAGONAIR_2    306 +#define FRONTIER_MON_MIGHTYENA_2    307 +#define FRONTIER_MON_LINOONE_2      308 +#define FRONTIER_MON_CASTFORM_2     309 +#define FRONTIER_MON_SHELGON_2      310 +#define FRONTIER_MON_METANG_2       311 +#define FRONTIER_MON_WIGGLYTUFF_2   312 +#define FRONTIER_MON_SUNFLORA_2     313 +#define FRONTIER_MON_CHIMECHO_2     314 +#define FRONTIER_MON_GLIGAR_2       315 +#define FRONTIER_MON_QWILFISH_2     316 +#define FRONTIER_MON_SNEASEL_2      317 +#define FRONTIER_MON_PELIPPER_2     318 +#define FRONTIER_MON_SWELLOW_2      319 +#define FRONTIER_MON_LAIRON_2       320 +#define FRONTIER_MON_TANGELA_2      321 +#define FRONTIER_MON_ARBOK_2        322 +#define FRONTIER_MON_PERSIAN_2      323 +#define FRONTIER_MON_SEADRA_2       324 +#define FRONTIER_MON_KECLEON_2      325 +#define FRONTIER_MON_VIGOROTH_2     326 +#define FRONTIER_MON_LUNATONE_2     327 +#define FRONTIER_MON_SOLROCK_2      328 +#define FRONTIER_MON_NOCTOWL_2      329 +#define FRONTIER_MON_SANDSLASH_2    330 +#define FRONTIER_MON_VENOMOTH_2     331 +#define FRONTIER_MON_CHANSEY_2      332 +#define FRONTIER_MON_SEAKING_2      333 +#define FRONTIER_MON_JUMPLUFF_2     334 +#define FRONTIER_MON_PILOSWINE_2    335 +#define FRONTIER_MON_GOLBAT_2       336 +#define FRONTIER_MON_PRIMEAPE_2     337 +#define FRONTIER_MON_HITMONLEE_2    338 +#define FRONTIER_MON_HITMONCHAN_2   339 +#define FRONTIER_MON_GIRAFARIG_2    340 +#define FRONTIER_MON_HITMONTOP_2    341 +#define FRONTIER_MON_BANETTE_2      342 +#define FRONTIER_MON_NINJASK_2      343 +#define FRONTIER_MON_SEVIPER_2      344 +#define FRONTIER_MON_ZANGOOSE_2     345 +#define FRONTIER_MON_CAMERUPT_2     346 +#define FRONTIER_MON_SHARPEDO_2     347 +#define FRONTIER_MON_TROPIUS_2      348 +#define FRONTIER_MON_MAGNETON_2     349 +#define FRONTIER_MON_MANTINE_2      350 +#define FRONTIER_MON_STANTLER_2     351 +#define FRONTIER_MON_ABSOL_2        352 +#define FRONTIER_MON_SWALOT_2       353 +#define FRONTIER_MON_CRAWDAUNT_2    354 +#define FRONTIER_MON_PIDGEOT_2      355 +#define FRONTIER_MON_GRUMPIG_2      356 +#define FRONTIER_MON_TORKOAL_2      357 +#define FRONTIER_MON_KINGLER_2      358 +#define FRONTIER_MON_CACTURNE_2     359 +#define FRONTIER_MON_BELLOSSOM_2    360 +#define FRONTIER_MON_OCTILLERY_2    361 +#define FRONTIER_MON_HUNTAIL_2      362 +#define FRONTIER_MON_GOREBYSS_2     363 +#define FRONTIER_MON_RELICANTH_2    364 +#define FRONTIER_MON_OMASTAR_2      365 +#define FRONTIER_MON_KABUTOPS_2     366 +#define FRONTIER_MON_POLIWRATH_2    367 +#define FRONTIER_MON_SCYTHER_2      368 +#define FRONTIER_MON_PINSIR_2       369 +#define FRONTIER_MON_POLITOED_2     370 +#define FRONTIER_MON_CLOYSTER_2     371 + +#define FRONTIER_MON_DUGTRIO_1      372 +#define FRONTIER_MON_MEDICHAM_1     373 +#define FRONTIER_MON_MISDREAVUS_1   374 +#define FRONTIER_MON_FEAROW_1       375 +#define FRONTIER_MON_GRANBULL_1     376 +#define FRONTIER_MON_JYNX_1         377 +#define FRONTIER_MON_DUSCLOPS_1     378 +#define FRONTIER_MON_DODRIO_1       379 +#define FRONTIER_MON_MR_MIME_1      380 +#define FRONTIER_MON_LANTURN_1      381 +#define FRONTIER_MON_BRELOOM_1      382 +#define FRONTIER_MON_FORRETRESS_1   383 +#define FRONTIER_MON_WHISCASH_1     384 +#define FRONTIER_MON_XATU_1         385 +#define FRONTIER_MON_SKARMORY_1     386 +#define FRONTIER_MON_MAROWAK_1      387 +#define FRONTIER_MON_QUAGSIRE_1     388 +#define FRONTIER_MON_CLEFABLE_1     389 +#define FRONTIER_MON_HARIYAMA_1     390 +#define FRONTIER_MON_RAICHU_1       391 +#define FRONTIER_MON_DEWGONG_1      392 +#define FRONTIER_MON_MANECTRIC_1    393 +#define FRONTIER_MON_VILEPLUME_1    394 +#define FRONTIER_MON_VICTREEBEL_1   395 +#define FRONTIER_MON_ELECTRODE_1    396 +#define FRONTIER_MON_EXPLOUD_1      397 +#define FRONTIER_MON_SHIFTRY_1      398 +#define FRONTIER_MON_GLALIE_1       399 +#define FRONTIER_MON_LUDICOLO_1     400 +#define FRONTIER_MON_HYPNO_1        401 +#define FRONTIER_MON_GOLEM_1        402 +#define FRONTIER_MON_RHYDON_1       403 +#define FRONTIER_MON_ALAKAZAM_1     404 +#define FRONTIER_MON_WEEZING_1      405 +#define FRONTIER_MON_KANGASKHAN_1   406 +#define FRONTIER_MON_ELECTABUZZ_1   407 +#define FRONTIER_MON_TAUROS_1       408 +#define FRONTIER_MON_SLOWBRO_1      409 +#define FRONTIER_MON_SLOWKING_1     410 +#define FRONTIER_MON_MILTANK_1      411 +#define FRONTIER_MON_ALTARIA_1      412 +#define FRONTIER_MON_NIDOQUEEN_1    413 +#define FRONTIER_MON_NIDOKING_1     414 +#define FRONTIER_MON_MAGMAR_1       415 +#define FRONTIER_MON_CRADILY_1      416 +#define FRONTIER_MON_ARMALDO_1      417 +#define FRONTIER_MON_GOLDUCK_1      418 +#define FRONTIER_MON_RAPIDASH_1     419 +#define FRONTIER_MON_MUK_1          420 +#define FRONTIER_MON_GENGAR_1       421 +#define FRONTIER_MON_AMPHAROS_1     422 +#define FRONTIER_MON_SCIZOR_1       423 +#define FRONTIER_MON_HERACROSS_1    424 +#define FRONTIER_MON_URSARING_1     425 +#define FRONTIER_MON_HOUNDOOM_1     426 +#define FRONTIER_MON_DONPHAN_1      427 +#define FRONTIER_MON_CLAYDOL_1      428 +#define FRONTIER_MON_WAILORD_1      429 +#define FRONTIER_MON_NINETALES_1    430 +#define FRONTIER_MON_MACHAMP_1      431 +#define FRONTIER_MON_SHUCKLE_1      432 +#define FRONTIER_MON_STEELIX_1      433 +#define FRONTIER_MON_TENTACRUEL_1   434 +#define FRONTIER_MON_AERODACTYL_1   435 +#define FRONTIER_MON_PORYGON2_1     436 +#define FRONTIER_MON_GARDEVOIR_1    437 +#define FRONTIER_MON_EXEGGUTOR_1    438 +#define FRONTIER_MON_STARMIE_1      439 +#define FRONTIER_MON_FLYGON_1       440 +#define FRONTIER_MON_VENUSAUR_1     441 +#define FRONTIER_MON_VAPOREON_1     442 +#define FRONTIER_MON_JOLTEON_1      443 +#define FRONTIER_MON_FLAREON_1      444 +#define FRONTIER_MON_MEGANIUM_1     445 +#define FRONTIER_MON_ESPEON_1       446 +#define FRONTIER_MON_UMBREON_1      447 +#define FRONTIER_MON_BLASTOISE_1    448 +#define FRONTIER_MON_FERALIGATR_1   449 +#define FRONTIER_MON_AGGRON_1       450 +#define FRONTIER_MON_BLAZIKEN_1     451 +#define FRONTIER_MON_WALREIN_1      452 +#define FRONTIER_MON_SCEPTILE_1     453 +#define FRONTIER_MON_CHARIZARD_1    454 +#define FRONTIER_MON_TYPHLOSION_1   455 +#define FRONTIER_MON_LAPRAS_1       456 +#define FRONTIER_MON_CROBAT_1       457 +#define FRONTIER_MON_SWAMPERT_1     458 +#define FRONTIER_MON_GYARADOS_1     459 +#define FRONTIER_MON_SNORLAX_1      460 +#define FRONTIER_MON_KINGDRA_1      461 +#define FRONTIER_MON_BLISSEY_1      462 +#define FRONTIER_MON_MILOTIC_1      463 +#define FRONTIER_MON_ARCANINE_1     464 +#define FRONTIER_MON_SALAMENCE_1    465 +#define FRONTIER_MON_METAGROSS_1    466 +#define FRONTIER_MON_SLAKING_1      467 + +#define FRONTIER_MON_DUGTRIO_2      468 +#define FRONTIER_MON_MEDICHAM_2     469 +#define FRONTIER_MON_MAROWAK_2      470 +#define FRONTIER_MON_QUAGSIRE_2     471 +#define FRONTIER_MON_MISDREAVUS_2   472 +#define FRONTIER_MON_FEAROW_2       473 +#define FRONTIER_MON_GRANBULL_2     474 +#define FRONTIER_MON_JYNX_2         475 +#define FRONTIER_MON_DUSCLOPS_2     476 +#define FRONTIER_MON_DODRIO_2       477 +#define FRONTIER_MON_MR_MIME_2      478 +#define FRONTIER_MON_LANTURN_2      479 +#define FRONTIER_MON_BRELOOM_2      480 +#define FRONTIER_MON_FORRETRESS_2   481 +#define FRONTIER_MON_SKARMORY_2     482 +#define FRONTIER_MON_WHISCASH_2     483 +#define FRONTIER_MON_XATU_2         484 +#define FRONTIER_MON_CLEFABLE_2     485 +#define FRONTIER_MON_HARIYAMA_2     486 +#define FRONTIER_MON_RAICHU_2       487 +#define FRONTIER_MON_DEWGONG_2      488 +#define FRONTIER_MON_MANECTRIC_2    489 +#define FRONTIER_MON_VILEPLUME_2    490 +#define FRONTIER_MON_VICTREEBEL_2   491 +#define FRONTIER_MON_ELECTRODE_2    492 +#define FRONTIER_MON_EXPLOUD_2      493 +#define FRONTIER_MON_SHIFTRY_2      494 +#define FRONTIER_MON_GLALIE_2       495 +#define FRONTIER_MON_LUDICOLO_2     496 +#define FRONTIER_MON_HYPNO_2        497 +#define FRONTIER_MON_GOLEM_2        498 +#define FRONTIER_MON_RHYDON_2       499 +#define FRONTIER_MON_ALAKAZAM_2     500 +#define FRONTIER_MON_WEEZING_2      501 +#define FRONTIER_MON_KANGASKHAN_2   502 +#define FRONTIER_MON_ELECTABUZZ_2   503 +#define FRONTIER_MON_TAUROS_2       504 +#define FRONTIER_MON_SLOWBRO_2      505 +#define FRONTIER_MON_SLOWKING_2     506 +#define FRONTIER_MON_MILTANK_2      507 +#define FRONTIER_MON_ALTARIA_2      508 +#define FRONTIER_MON_NIDOQUEEN_2    509 +#define FRONTIER_MON_NIDOKING_2     510 +#define FRONTIER_MON_MAGMAR_2       511 +#define FRONTIER_MON_CRADILY_2      512 +#define FRONTIER_MON_ARMALDO_2      513 +#define FRONTIER_MON_GOLDUCK_2      514 +#define FRONTIER_MON_RAPIDASH_2     515 +#define FRONTIER_MON_MUK_2          516 +#define FRONTIER_MON_GENGAR_2       517 +#define FRONTIER_MON_AMPHAROS_2     518 +#define FRONTIER_MON_SCIZOR_2       519 +#define FRONTIER_MON_HERACROSS_2    520 +#define FRONTIER_MON_URSARING_2     521 +#define FRONTIER_MON_HOUNDOOM_2     522 +#define FRONTIER_MON_DONPHAN_2      523 +#define FRONTIER_MON_CLAYDOL_2      524 +#define FRONTIER_MON_WAILORD_2      525 +#define FRONTIER_MON_NINETALES_2    526 +#define FRONTIER_MON_MACHAMP_2      527 +#define FRONTIER_MON_SHUCKLE_2      528 +#define FRONTIER_MON_STEELIX_2      529 +#define FRONTIER_MON_TENTACRUEL_2   530 +#define FRONTIER_MON_AERODACTYL_2   531 +#define FRONTIER_MON_PORYGON2_2     532 +#define FRONTIER_MON_GARDEVOIR_2    533 +#define FRONTIER_MON_EXEGGUTOR_2    534 +#define FRONTIER_MON_STARMIE_2      535 +#define FRONTIER_MON_FLYGON_2       536 +#define FRONTIER_MON_VENUSAUR_2     537 +#define FRONTIER_MON_VAPOREON_2     538 +#define FRONTIER_MON_JOLTEON_2      539 +#define FRONTIER_MON_FLAREON_2      540 +#define FRONTIER_MON_MEGANIUM_2     541 +#define FRONTIER_MON_ESPEON_2       542 +#define FRONTIER_MON_UMBREON_2      543 +#define FRONTIER_MON_BLASTOISE_2    544 +#define FRONTIER_MON_FERALIGATR_2   545 +#define FRONTIER_MON_AGGRON_2       546 +#define FRONTIER_MON_BLAZIKEN_2     547 +#define FRONTIER_MON_WALREIN_2      548 +#define FRONTIER_MON_SCEPTILE_2     549 +#define FRONTIER_MON_CHARIZARD_2    550 +#define FRONTIER_MON_TYPHLOSION_2   551 +#define FRONTIER_MON_LAPRAS_2       552 +#define FRONTIER_MON_CROBAT_2       553 +#define FRONTIER_MON_SWAMPERT_2     554 +#define FRONTIER_MON_GYARADOS_2     555 +#define FRONTIER_MON_SNORLAX_2      556 +#define FRONTIER_MON_KINGDRA_2      557 +#define FRONTIER_MON_BLISSEY_2      558 +#define FRONTIER_MON_MILOTIC_2      559 +#define FRONTIER_MON_ARCANINE_2     560 +#define FRONTIER_MON_SALAMENCE_2    561 +#define FRONTIER_MON_METAGROSS_2    562 +#define FRONTIER_MON_SLAKING_2      563 + +#define FRONTIER_MON_DUGTRIO_3      564 +#define FRONTIER_MON_MEDICHAM_3     565 +#define FRONTIER_MON_MISDREAVUS_3   566 +#define FRONTIER_MON_FEAROW_3       567 +#define FRONTIER_MON_GRANBULL_3     568 +#define FRONTIER_MON_JYNX_3         569 +#define FRONTIER_MON_DUSCLOPS_3     570 +#define FRONTIER_MON_DODRIO_3       571 +#define FRONTIER_MON_MR_MIME_3      572 +#define FRONTIER_MON_LANTURN_3      573 +#define FRONTIER_MON_BRELOOM_3      574 +#define FRONTIER_MON_FORRETRESS_3   575 +#define FRONTIER_MON_WHISCASH_3     576 +#define FRONTIER_MON_XATU_3         577 +#define FRONTIER_MON_SKARMORY_3     578 +#define FRONTIER_MON_MAROWAK_3      579 +#define FRONTIER_MON_QUAGSIRE_3     580 +#define FRONTIER_MON_CLEFABLE_3     581 +#define FRONTIER_MON_HARIYAMA_3     582 +#define FRONTIER_MON_RAICHU_3       583 +#define FRONTIER_MON_DEWGONG_3      584 +#define FRONTIER_MON_MANECTRIC_3    585 +#define FRONTIER_MON_VILEPLUME_3    586 +#define FRONTIER_MON_VICTREEBEL_3   587 +#define FRONTIER_MON_ELECTRODE_3    588 +#define FRONTIER_MON_EXPLOUD_3      589 +#define FRONTIER_MON_SHIFTRY_3      590 +#define FRONTIER_MON_GLALIE_3       591 +#define FRONTIER_MON_LUDICOLO_3     592 +#define FRONTIER_MON_HYPNO_3        593 +#define FRONTIER_MON_GOLEM_3        594 +#define FRONTIER_MON_RHYDON_3       595 +#define FRONTIER_MON_ALAKAZAM_3     596 +#define FRONTIER_MON_WEEZING_3      597 +#define FRONTIER_MON_KANGASKHAN_3   598 +#define FRONTIER_MON_ELECTABUZZ_3   599 +#define FRONTIER_MON_TAUROS_3       600 +#define FRONTIER_MON_SLOWBRO_3      601 +#define FRONTIER_MON_SLOWKING_3     602 +#define FRONTIER_MON_MILTANK_3      603 +#define FRONTIER_MON_ALTARIA_3      604 +#define FRONTIER_MON_NIDOQUEEN_3    605 +#define FRONTIER_MON_NIDOKING_3     606 +#define FRONTIER_MON_MAGMAR_3       607 +#define FRONTIER_MON_CRADILY_3      608 +#define FRONTIER_MON_ARMALDO_3      609 +#define FRONTIER_MON_GOLDUCK_3      610 +#define FRONTIER_MON_RAPIDASH_3     611 +#define FRONTIER_MON_MUK_3          612 +#define FRONTIER_MON_GENGAR_3       613 +#define FRONTIER_MON_AMPHAROS_3     614 +#define FRONTIER_MON_SCIZOR_3       615 +#define FRONTIER_MON_HERACROSS_3    616 +#define FRONTIER_MON_URSARING_3     617 +#define FRONTIER_MON_HOUNDOOM_3     618 +#define FRONTIER_MON_DONPHAN_3      619 +#define FRONTIER_MON_CLAYDOL_3      620 +#define FRONTIER_MON_WAILORD_3      621 +#define FRONTIER_MON_NINETALES_3    622 +#define FRONTIER_MON_MACHAMP_3      623 +#define FRONTIER_MON_SHUCKLE_3      624 +#define FRONTIER_MON_STEELIX_3      625 +#define FRONTIER_MON_TENTACRUEL_3   626 +#define FRONTIER_MON_AERODACTYL_3   627 +#define FRONTIER_MON_PORYGON2_3     628 +#define FRONTIER_MON_GARDEVOIR_3    629 +#define FRONTIER_MON_EXEGGUTOR_3    630 +#define FRONTIER_MON_STARMIE_3      631 +#define FRONTIER_MON_FLYGON_3       632 +#define FRONTIER_MON_VENUSAUR_3     633 +#define FRONTIER_MON_VAPOREON_3     634 +#define FRONTIER_MON_JOLTEON_3      635 +#define FRONTIER_MON_FLAREON_3      636 +#define FRONTIER_MON_MEGANIUM_3     637 +#define FRONTIER_MON_ESPEON_3       638 +#define FRONTIER_MON_UMBREON_3      639 +#define FRONTIER_MON_BLASTOISE_3    640 +#define FRONTIER_MON_FERALIGATR_3   641 +#define FRONTIER_MON_AGGRON_3       642 +#define FRONTIER_MON_BLAZIKEN_3     643 +#define FRONTIER_MON_WALREIN_3      644 +#define FRONTIER_MON_SCEPTILE_3     645 +#define FRONTIER_MON_CHARIZARD_3    646 +#define FRONTIER_MON_TYPHLOSION_3   647 +#define FRONTIER_MON_LAPRAS_3       648 +#define FRONTIER_MON_CROBAT_3       649 +#define FRONTIER_MON_SWAMPERT_3     650 +#define FRONTIER_MON_GYARADOS_3     651 +#define FRONTIER_MON_SNORLAX_3      652 +#define FRONTIER_MON_KINGDRA_3      653 +#define FRONTIER_MON_BLISSEY_3      654 +#define FRONTIER_MON_MILOTIC_3      655 +#define FRONTIER_MON_ARCANINE_3     656 +#define FRONTIER_MON_SALAMENCE_3    657 +#define FRONTIER_MON_METAGROSS_3    658 +#define FRONTIER_MON_SLAKING_3      659 + +#define FRONTIER_MON_DUGTRIO_4      660 +#define FRONTIER_MON_MEDICHAM_4     661 +#define FRONTIER_MON_MISDREAVUS_4   662 +#define FRONTIER_MON_FEAROW_4       663 +#define FRONTIER_MON_GRANBULL_4     664 +#define FRONTIER_MON_JYNX_4         665 +#define FRONTIER_MON_DUSCLOPS_4     666 +#define FRONTIER_MON_DODRIO_4       667 +#define FRONTIER_MON_MR_MIME_4      668 +#define FRONTIER_MON_LANTURN_4      669 +#define FRONTIER_MON_BRELOOM_4      670 +#define FRONTIER_MON_FORRETRESS_4   671 +#define FRONTIER_MON_WHISCASH_4     672 +#define FRONTIER_MON_XATU_4         673 +#define FRONTIER_MON_SKARMORY_4     674 +#define FRONTIER_MON_MAROWAK_4      675 +#define FRONTIER_MON_QUAGSIRE_4     676 +#define FRONTIER_MON_CLEFABLE_4     677 +#define FRONTIER_MON_HARIYAMA_4     678 +#define FRONTIER_MON_RAICHU_4       679 +#define FRONTIER_MON_DEWGONG_4      680 +#define FRONTIER_MON_MANECTRIC_4    681 +#define FRONTIER_MON_VILEPLUME_4    682 +#define FRONTIER_MON_VICTREEBEL_4   683 +#define FRONTIER_MON_ELECTRODE_4    684 +#define FRONTIER_MON_EXPLOUD_4      685 +#define FRONTIER_MON_SHIFTRY_4      686 +#define FRONTIER_MON_GLALIE_4       687 +#define FRONTIER_MON_LUDICOLO_4     688 +#define FRONTIER_MON_HYPNO_4        689 +#define FRONTIER_MON_GOLEM_4        690 +#define FRONTIER_MON_RHYDON_4       691 +#define FRONTIER_MON_ALAKAZAM_4     692 +#define FRONTIER_MON_WEEZING_4      693 +#define FRONTIER_MON_KANGASKHAN_4   694 +#define FRONTIER_MON_ELECTABUZZ_4   695 +#define FRONTIER_MON_TAUROS_4       696 +#define FRONTIER_MON_SLOWBRO_4      697 +#define FRONTIER_MON_SLOWKING_4     698 +#define FRONTIER_MON_MILTANK_4      699 +#define FRONTIER_MON_ALTARIA_4      700 +#define FRONTIER_MON_NIDOQUEEN_4    701 +#define FRONTIER_MON_NIDOKING_4     702 +#define FRONTIER_MON_MAGMAR_4       703 +#define FRONTIER_MON_CRADILY_4      704 +#define FRONTIER_MON_ARMALDO_4      705 +#define FRONTIER_MON_GOLDUCK_4      706 +#define FRONTIER_MON_RAPIDASH_4     707 +#define FRONTIER_MON_MUK_4          708 +#define FRONTIER_MON_GENGAR_4       709 +#define FRONTIER_MON_AMPHAROS_4     710 +#define FRONTIER_MON_SCIZOR_4       711 +#define FRONTIER_MON_HERACROSS_4    712 +#define FRONTIER_MON_URSARING_4     713 +#define FRONTIER_MON_HOUNDOOM_4     714 +#define FRONTIER_MON_DONPHAN_4      715 +#define FRONTIER_MON_CLAYDOL_4      716 +#define FRONTIER_MON_WAILORD_4      717 +#define FRONTIER_MON_NINETALES_4    718 +#define FRONTIER_MON_MACHAMP_4      719 +#define FRONTIER_MON_SHUCKLE_4      720 +#define FRONTIER_MON_STEELIX_4      721 +#define FRONTIER_MON_TENTACRUEL_4   722 +#define FRONTIER_MON_AERODACTYL_4   723 +#define FRONTIER_MON_PORYGON2_4     724 +#define FRONTIER_MON_GARDEVOIR_4    725 +#define FRONTIER_MON_EXEGGUTOR_4    726 +#define FRONTIER_MON_STARMIE_4      727 +#define FRONTIER_MON_FLYGON_4       728 +#define FRONTIER_MON_VENUSAUR_4     729 +#define FRONTIER_MON_VAPOREON_4     730 +#define FRONTIER_MON_JOLTEON_4      731 +#define FRONTIER_MON_FLAREON_4      732 +#define FRONTIER_MON_MEGANIUM_4     733 +#define FRONTIER_MON_ESPEON_4       734 +#define FRONTIER_MON_UMBREON_4      735 +#define FRONTIER_MON_BLASTOISE_4    736 +#define FRONTIER_MON_FERALIGATR_4   737 +#define FRONTIER_MON_AGGRON_4       738 +#define FRONTIER_MON_BLAZIKEN_4     739 +#define FRONTIER_MON_WALREIN_4      740 +#define FRONTIER_MON_SCEPTILE_4     741 +#define FRONTIER_MON_CHARIZARD_4    742 +#define FRONTIER_MON_TYPHLOSION_4   743 +#define FRONTIER_MON_LAPRAS_4       744 +#define FRONTIER_MON_CROBAT_4       745 +#define FRONTIER_MON_SWAMPERT_4     746 +#define FRONTIER_MON_GYARADOS_4     747 +#define FRONTIER_MON_SNORLAX_4      748 +#define FRONTIER_MON_KINGDRA_4      749 +#define FRONTIER_MON_BLISSEY_4      750 +#define FRONTIER_MON_MILOTIC_4      751 +#define FRONTIER_MON_ARCANINE_4     752 +#define FRONTIER_MON_SALAMENCE_4    753 +#define FRONTIER_MON_METAGROSS_4    754 +#define FRONTIER_MON_SLAKING_4      755 + +#define FRONTIER_MON_ARTICUNO_1     756 +#define FRONTIER_MON_ZAPDOS_1       757 +#define FRONTIER_MON_MOLTRES_1      758 +#define FRONTIER_MON_RAIKOU_1       759 +#define FRONTIER_MON_ENTEI_1        760 +#define FRONTIER_MON_SUICUNE_1      761 +#define FRONTIER_MON_REGIROCK_1     762 +#define FRONTIER_MON_REGICE_1       763 +#define FRONTIER_MON_REGISTEEL_1    764 +#define FRONTIER_MON_LATIAS_1       765 +#define FRONTIER_MON_LATIOS_1       766 +#define FRONTIER_MON_ARTICUNO_2     767 +#define FRONTIER_MON_ZAPDOS_2       768 +#define FRONTIER_MON_MOLTRES_2      769 +#define FRONTIER_MON_RAIKOU_2       770 +#define FRONTIER_MON_ENTEI_2        771 +#define FRONTIER_MON_SUICUNE_2      772 +#define FRONTIER_MON_REGIROCK_2     773 +#define FRONTIER_MON_REGICE_2       774 +#define FRONTIER_MON_REGISTEEL_2    775 +#define FRONTIER_MON_LATIAS_2       776 +#define FRONTIER_MON_LATIOS_2       777 +#define FRONTIER_MON_ARTICUNO_3     778 +#define FRONTIER_MON_ZAPDOS_3       779 +#define FRONTIER_MON_MOLTRES_3      780 +#define FRONTIER_MON_RAIKOU_3       781 +#define FRONTIER_MON_ENTEI_3        782 +#define FRONTIER_MON_SUICUNE_3      783 +#define FRONTIER_MON_REGIROCK_3     784 +#define FRONTIER_MON_REGICE_3       785 +#define FRONTIER_MON_REGISTEEL_3    786 +#define FRONTIER_MON_LATIAS_3       787 +#define FRONTIER_MON_LATIOS_3       788 +#define FRONTIER_MON_ARTICUNO_4     789 +#define FRONTIER_MON_ZAPDOS_4       790 +#define FRONTIER_MON_MOLTRES_4      791 +#define FRONTIER_MON_RAIKOU_4       792 +#define FRONTIER_MON_ENTEI_4        793 +#define FRONTIER_MON_SUICUNE_4      794 +#define FRONTIER_MON_REGIROCK_4     795 +#define FRONTIER_MON_REGICE_4       796 +#define FRONTIER_MON_REGISTEEL_4    797 +#define FRONTIER_MON_LATIAS_4       798 +#define FRONTIER_MON_LATIOS_4       799 +#define FRONTIER_MON_GENGAR_5       800 +#define FRONTIER_MON_GENGAR_6       801 +#define FRONTIER_MON_GENGAR_7       802 +#define FRONTIER_MON_GENGAR_8       803 +#define FRONTIER_MON_URSARING_5     804 +#define FRONTIER_MON_URSARING_6     805 +#define FRONTIER_MON_URSARING_7     806 +#define FRONTIER_MON_URSARING_8     807 +#define FRONTIER_MON_MACHAMP_5      808 +#define FRONTIER_MON_MACHAMP_6      809 +#define FRONTIER_MON_MACHAMP_7      810 +#define FRONTIER_MON_MACHAMP_8      811 +#define FRONTIER_MON_GARDEVOIR_5    812 +#define FRONTIER_MON_GARDEVOIR_6    813 +#define FRONTIER_MON_GARDEVOIR_7    814 +#define FRONTIER_MON_GARDEVOIR_8    815 +#define FRONTIER_MON_STARMIE_5      816 +#define FRONTIER_MON_STARMIE_6      817 +#define FRONTIER_MON_STARMIE_7      818 +#define FRONTIER_MON_STARMIE_8      819 +#define FRONTIER_MON_LAPRAS_5       820 +#define FRONTIER_MON_LAPRAS_6       821 +#define FRONTIER_MON_LAPRAS_7       822 +#define FRONTIER_MON_LAPRAS_8       823 +#define FRONTIER_MON_SNORLAX_5      824 +#define FRONTIER_MON_SNORLAX_6      825 +#define FRONTIER_MON_SNORLAX_7      826 +#define FRONTIER_MON_SNORLAX_8      827 +#define FRONTIER_MON_SALAMENCE_5    828 +#define FRONTIER_MON_SALAMENCE_6    829 +#define FRONTIER_MON_SALAMENCE_7    830 +#define FRONTIER_MON_SALAMENCE_8    831 +#define FRONTIER_MON_METAGROSS_5    832 +#define FRONTIER_MON_METAGROSS_6    833 +#define FRONTIER_MON_METAGROSS_7    834 +#define FRONTIER_MON_METAGROSS_8    835 +#define FRONTIER_MON_REGIROCK_5     836 +#define FRONTIER_MON_REGIROCK_6     837 +#define FRONTIER_MON_REGICE_5       838 +#define FRONTIER_MON_REGICE_6       839 +#define FRONTIER_MON_REGISTEEL_5    840 +#define FRONTIER_MON_REGISTEEL_6    841 +#define FRONTIER_MON_LATIAS_5       842 +#define FRONTIER_MON_LATIAS_6       843 +#define FRONTIER_MON_LATIAS_7       844 +#define FRONTIER_MON_LATIAS_8       845 +#define FRONTIER_MON_LATIOS_5       846 +#define FRONTIER_MON_LATIOS_6       847 +#define FRONTIER_MON_LATIOS_7       848 +#define FRONTIER_MON_LATIOS_8       849 + +#define FRONTIER_MONS_HIGH_TIER     849 // Mons above this point can only appear > level 50 + +#define FRONTIER_MON_DRAGONITE_1    850 +#define FRONTIER_MON_DRAGONITE_2    851 +#define FRONTIER_MON_DRAGONITE_3    852 +#define FRONTIER_MON_DRAGONITE_4    853 +#define FRONTIER_MON_DRAGONITE_5    854 +#define FRONTIER_MON_DRAGONITE_6    855 +#define FRONTIER_MON_DRAGONITE_7    856 +#define FRONTIER_MON_DRAGONITE_8    857 +#define FRONTIER_MON_DRAGONITE_9    858 +#define FRONTIER_MON_DRAGONITE_10   859 +#define FRONTIER_MON_TYRANITAR_1    860 +#define FRONTIER_MON_TYRANITAR_2    861 +#define FRONTIER_MON_TYRANITAR_3    862 +#define FRONTIER_MON_TYRANITAR_4    863 +#define FRONTIER_MON_TYRANITAR_5    864 +#define FRONTIER_MON_TYRANITAR_6    865 +#define FRONTIER_MON_TYRANITAR_7    866 +#define FRONTIER_MON_TYRANITAR_8    867 +#define FRONTIER_MON_TYRANITAR_9    868 +#define FRONTIER_MON_TYRANITAR_10   869 +#define FRONTIER_MON_ARTICUNO_5     870 +#define FRONTIER_MON_ARTICUNO_6     871 +#define FRONTIER_MON_ZAPDOS_5       872 +#define FRONTIER_MON_ZAPDOS_6       873 +#define FRONTIER_MON_MOLTRES_5      874 +#define FRONTIER_MON_MOLTRES_6      875 +#define FRONTIER_MON_RAIKOU_5       876 +#define FRONTIER_MON_RAIKOU_6       877 +#define FRONTIER_MON_ENTEI_5        878 +#define FRONTIER_MON_ENTEI_6        879 +#define FRONTIER_MON_SUICUNE_5      880 +#define FRONTIER_MON_SUICUNE_6      881 + +#define NUM_FRONTIER_MONS           882 + +#endif //GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H diff --git a/include/constants/battle_frontier_trainers.h b/include/constants/battle_frontier_trainers.h new file mode 100644 index 000000000..2914b153f --- /dev/null +++ b/include/constants/battle_frontier_trainers.h @@ -0,0 +1,309 @@ +#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H +#define GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H + +#define FRONTIER_TRAINER_BRADY          0 +#define FRONTIER_TRAINER_CONNER         1     +#define FRONTIER_TRAINER_BRADLEY        2 +#define FRONTIER_TRAINER_CYBIL          3 +#define FRONTIER_TRAINER_RODETTE        4 +#define FRONTIER_TRAINER_PEGGY          5 +#define FRONTIER_TRAINER_KEITH          6 +#define FRONTIER_TRAINER_GRAYSON        7 +#define FRONTIER_TRAINER_GLENN          8 +#define FRONTIER_TRAINER_LILIANA        9 +#define FRONTIER_TRAINER_ELISE          10 +#define FRONTIER_TRAINER_ZOEY           11 +#define FRONTIER_TRAINER_MANUEL         12 +#define FRONTIER_TRAINER_RUSS           13 +#define FRONTIER_TRAINER_DUSTIN         14 +#define FRONTIER_TRAINER_TINA           15 +#define FRONTIER_TRAINER_GILLIAN1       16 +#define FRONTIER_TRAINER_ZOE            17 +#define FRONTIER_TRAINER_CHEN           18 +#define FRONTIER_TRAINER_AL             19 +#define FRONTIER_TRAINER_MITCH          20 +#define FRONTIER_TRAINER_ANNE           21 +#define FRONTIER_TRAINER_ALIZE          22 +#define FRONTIER_TRAINER_LAUREN         23 +#define FRONTIER_TRAINER_KIPP           24 +#define FRONTIER_TRAINER_JASON          25 +#define FRONTIER_TRAINER_JOHN           26 +#define FRONTIER_TRAINER_ANN            27 +#define FRONTIER_TRAINER_EILEEN         28 +#define FRONTIER_TRAINER_CARLIE         29 +#define FRONTIER_TRAINER_GORDON         30 +#define FRONTIER_TRAINER_AYDEN          31 +#define FRONTIER_TRAINER_MARCO          32 +#define FRONTIER_TRAINER_CIERRA         33 +#define FRONTIER_TRAINER_MARCY          34 +#define FRONTIER_TRAINER_KATHY          35 +#define FRONTIER_TRAINER_PEYTON         36 +#define FRONTIER_TRAINER_JULIAN         37 +#define FRONTIER_TRAINER_QUINN          38 +#define FRONTIER_TRAINER_HAYLEE         39 +#define FRONTIER_TRAINER_AMANDA         40 +#define FRONTIER_TRAINER_STACY          41 +#define FRONTIER_TRAINER_RAFAEL         42 +#define FRONTIER_TRAINER_OLIVER         43 +#define FRONTIER_TRAINER_PAYTON         44 +#define FRONTIER_TRAINER_PAMELA         45 +#define FRONTIER_TRAINER_ELIZA          46 +#define FRONTIER_TRAINER_MARISA         47 +#define FRONTIER_TRAINER_LEWIS          48 +#define FRONTIER_TRAINER_YOSHI          49 +#define FRONTIER_TRAINER_DESTIN         50 +#define FRONTIER_TRAINER_KEON           51 +#define FRONTIER_TRAINER_STUART         52 +#define FRONTIER_TRAINER_NESTOR         53 +#define FRONTIER_TRAINER_DERRICK        54 +#define FRONTIER_TRAINER_BRYSON         55 +#define FRONTIER_TRAINER_CLAYTON        56 +#define FRONTIER_TRAINER_TRENTON        57 +#define FRONTIER_TRAINER_JENSON         58 +#define FRONTIER_TRAINER_WESLEY         59 +#define FRONTIER_TRAINER_ANTON          60 +#define FRONTIER_TRAINER_LAWSON         61 +#define FRONTIER_TRAINER_SAMMY          62 +#define FRONTIER_TRAINER_ARNIE          63 +#define FRONTIER_TRAINER_ADRIAN         64 +#define FRONTIER_TRAINER_TRISTAN        65 +#define FRONTIER_TRAINER_JULIANA        66 +#define FRONTIER_TRAINER_RYLEE          67 +#define FRONTIER_TRAINER_CHELSEA        68 +#define FRONTIER_TRAINER_DANELA         69 +#define FRONTIER_TRAINER_LIZBETH        70 +#define FRONTIER_TRAINER_AMELIA         71 +#define FRONTIER_TRAINER_JILLIAN        72 +#define FRONTIER_TRAINER_ABBIE          73 +#define FRONTIER_TRAINER_BRIANA         74 +#define FRONTIER_TRAINER_ANTONIO        75 +#define FRONTIER_TRAINER_JADEN          76 +#define FRONTIER_TRAINER_DAKOTA         77 +#define FRONTIER_TRAINER_BRAYDEN        78 +#define FRONTIER_TRAINER_CORSON         79 +#define FRONTIER_TRAINER_TREVIN         80 +#define FRONTIER_TRAINER_PATRICK        81 +#define FRONTIER_TRAINER_KADEN          82 +#define FRONTIER_TRAINER_MAXWELL        83 +#define FRONTIER_TRAINER_DARYL          84 +#define FRONTIER_TRAINER_KENNETH        85 +#define FRONTIER_TRAINER_RICH           86 +#define FRONTIER_TRAINER_CADEN          87 +#define FRONTIER_TRAINER_MARLON         88 +#define FRONTIER_TRAINER_NASH           89 +#define FRONTIER_TRAINER_ROBBY          90 +#define FRONTIER_TRAINER_REECE          91 +#define FRONTIER_TRAINER_KATHRYN        92 +#define FRONTIER_TRAINER_ELLEN          93 +#define FRONTIER_TRAINER_RAMON          94 +#define FRONTIER_TRAINER_ARTHUR         95 +#define FRONTIER_TRAINER_ALONDRA        96 +#define FRONTIER_TRAINER_ADRIANA        97 +#define FRONTIER_TRAINER_MALIK          98 +#define FRONTIER_TRAINER_JILL           99 +#define FRONTIER_TRAINER_ERIK           100 +#define FRONTIER_TRAINER_YAZMIN         101 +#define FRONTIER_TRAINER_JAMAL          102 +#define FRONTIER_TRAINER_LESLIE         103 +#define FRONTIER_TRAINER_DAVE           104 +#define FRONTIER_TRAINER_CARLO          105 +#define FRONTIER_TRAINER_EMILIA         106 +#define FRONTIER_TRAINER_DALIA          107 +#define FRONTIER_TRAINER_HITOMI         108 +#define FRONTIER_TRAINER_RICARDO        109 +#define FRONTIER_TRAINER_SHIZUKA        110 +#define FRONTIER_TRAINER_JOANA          111 +#define FRONTIER_TRAINER_KELLY          112 +#define FRONTIER_TRAINER_RAYNA          113 +#define FRONTIER_TRAINER_EVAN           114 +#define FRONTIER_TRAINER_JORDAN         115 +#define FRONTIER_TRAINER_JOEL           116 +#define FRONTIER_TRAINER_KRISTEN        117 +#define FRONTIER_TRAINER_SELPHY         118 +#define FRONTIER_TRAINER_CHLOE          119 +#define FRONTIER_TRAINER_NORTON         120 +#define FRONTIER_TRAINER_LUKAS          121 +#define FRONTIER_TRAINER_ZACH           122 +#define FRONTIER_TRAINER_KAITLYN        123 +#define FRONTIER_TRAINER_BREANNA        124 +#define FRONTIER_TRAINER_KENDRA         125 +#define FRONTIER_TRAINER_MOLLY          126 +#define FRONTIER_TRAINER_JAZMIN         127 +#define FRONTIER_TRAINER_KELSEY         128 +#define FRONTIER_TRAINER_JALEN          129 +#define FRONTIER_TRAINER_GRIFFEN        130 +#define FRONTIER_TRAINER_XANDER         131 +#define FRONTIER_TRAINER_MARVIN         132 +#define FRONTIER_TRAINER_BRENNAN        133 +#define FRONTIER_TRAINER_BALEY          134 +#define FRONTIER_TRAINER_ZACKARY        135 +#define FRONTIER_TRAINER_GABRIEL        136 +#define FRONTIER_TRAINER_EMILY          137 +#define FRONTIER_TRAINER_JORDYN         138 +#define FRONTIER_TRAINER_SOFIA          139 +#define FRONTIER_TRAINER_BRADEN         140 +#define FRONTIER_TRAINER_KAYDEN         141 +#define FRONTIER_TRAINER_COOPER         142 +#define FRONTIER_TRAINER_JULIA          143 +#define FRONTIER_TRAINER_AMARA          144 +#define FRONTIER_TRAINER_LYNN           145 +#define FRONTIER_TRAINER_JOVAN          146 +#define FRONTIER_TRAINER_DOMINIC        147 +#define FRONTIER_TRAINER_NIKOLAS        148 +#define FRONTIER_TRAINER_VALERIA        149 +#define FRONTIER_TRAINER_DELANEY        150 +#define FRONTIER_TRAINER_MEGHAN         151 +#define FRONTIER_TRAINER_ROBERTO        152 +#define FRONTIER_TRAINER_DAMIAN         153 +#define FRONTIER_TRAINER_BRODY          154 +#define FRONTIER_TRAINER_GRAHAM         155 +#define FRONTIER_TRAINER_TYLOR          156 +#define FRONTIER_TRAINER_JAREN          157 +#define FRONTIER_TRAINER_CORDELL        158 +#define FRONTIER_TRAINER_JAZLYN         159 +#define FRONTIER_TRAINER_ZACHERY        160 +#define FRONTIER_TRAINER_JOHAN          161 +#define FRONTIER_TRAINER_SHEA           162 +#define FRONTIER_TRAINER_KAILA          163 +#define FRONTIER_TRAINER_ISIAH          164 +#define FRONTIER_TRAINER_GARRETT        165 +#define FRONTIER_TRAINER_HAYLIE         166 +#define FRONTIER_TRAINER_MEGAN          167 +#define FRONTIER_TRAINER_ISSAC          168 +#define FRONTIER_TRAINER_QUINTON        169 +#define FRONTIER_TRAINER_SALMA          170 +#define FRONTIER_TRAINER_ANSLEY         171 +#define FRONTIER_TRAINER_HOLDEN         172 +#define FRONTIER_TRAINER_LUCA           173 +#define FRONTIER_TRAINER_JAMISON        174 +#define FRONTIER_TRAINER_GUNNAR         175 +#define FRONTIER_TRAINER_CRAIG          176 +#define FRONTIER_TRAINER_PIERCE         177 +#define FRONTIER_TRAINER_REGINA         178 +#define FRONTIER_TRAINER_ALISON         179 +#define FRONTIER_TRAINER_HANK           180 +#define FRONTIER_TRAINER_EARL           181 +#define FRONTIER_TRAINER_RAMIRO         182 +#define FRONTIER_TRAINER_HUNTER         183 +#define FRONTIER_TRAINER_AIDEN          184 +#define FRONTIER_TRAINER_XAVIER         185 +#define FRONTIER_TRAINER_CLINTON        186 +#define FRONTIER_TRAINER_JESSE          187 +#define FRONTIER_TRAINER_EDUARDO        188 +#define FRONTIER_TRAINER_HAL            189 +#define FRONTIER_TRAINER_GAGE           190 +#define FRONTIER_TRAINER_ARNOLD         191 +#define FRONTIER_TRAINER_JARRETT        192 +#define FRONTIER_TRAINER_GARETT         193 +#define FRONTIER_TRAINER_EMANUEL        194 +#define FRONTIER_TRAINER_GUSTAVO        195 +#define FRONTIER_TRAINER_KAMERON        196 +#define FRONTIER_TRAINER_ALFREDO        197 +#define FRONTIER_TRAINER_RUBEN          198 +#define FRONTIER_TRAINER_LAMAR          199 +#define FRONTIER_TRAINER_JAXON          200 +#define FRONTIER_TRAINER_LOGAN          201 +#define FRONTIER_TRAINER_EMILEE         202 +#define FRONTIER_TRAINER_JOSIE          203 +#define FRONTIER_TRAINER_ARMANDO        204 +#define FRONTIER_TRAINER_SKYLER         205 +#define FRONTIER_TRAINER_RUTH           206 +#define FRONTIER_TRAINER_MELODY         207 +#define FRONTIER_TRAINER_PEDRO          208 +#define FRONTIER_TRAINER_ERICK          209 +#define FRONTIER_TRAINER_ELAINE         210 +#define FRONTIER_TRAINER_JOYCE          211 +#define FRONTIER_TRAINER_TODD           212 +#define FRONTIER_TRAINER_GAVIN          213 +#define FRONTIER_TRAINER_MALORY         214 +#define FRONTIER_TRAINER_ESTHER         215 +#define FRONTIER_TRAINER_OSCAR          216 +#define FRONTIER_TRAINER_WILSON         217 +#define FRONTIER_TRAINER_CLARE          218 +#define FRONTIER_TRAINER_TESS           219 +#define FRONTIER_TRAINER_LEON           220 +#define FRONTIER_TRAINER_ALONZO         221 +#define FRONTIER_TRAINER_VINCE          222 +#define FRONTIER_TRAINER_BRYON          223 +#define FRONTIER_TRAINER_AVA            224 +#define FRONTIER_TRAINER_MIRIAM         225 +#define FRONTIER_TRAINER_CARRIE         226 +#define FRONTIER_TRAINER_GILLIAN2       227 +#define FRONTIER_TRAINER_TYLER          228 +#define FRONTIER_TRAINER_CHAZ           229 +#define FRONTIER_TRAINER_NELSON         230 +#define FRONTIER_TRAINER_SHANIA         231 +#define FRONTIER_TRAINER_STELLA         232 +#define FRONTIER_TRAINER_DORINE         233 +#define FRONTIER_TRAINER_MADDOX         234 +#define FRONTIER_TRAINER_DAVIN          235 +#define FRONTIER_TRAINER_TREVON         236 +#define FRONTIER_TRAINER_MATEO          237 +#define FRONTIER_TRAINER_BRET           238 +#define FRONTIER_TRAINER_RAUL           239 +#define FRONTIER_TRAINER_KAY            240 +#define FRONTIER_TRAINER_ELENA          241 +#define FRONTIER_TRAINER_ALANA          242 +#define FRONTIER_TRAINER_ALEXAS         243 +#define FRONTIER_TRAINER_WESTON         244 +#define FRONTIER_TRAINER_JASPER         245 +#define FRONTIER_TRAINER_NADIA          246 +#define FRONTIER_TRAINER_MIRANDA        247 +#define FRONTIER_TRAINER_EMMA           248 +#define FRONTIER_TRAINER_ROLANDO        249 +#define FRONTIER_TRAINER_STANLY         250 +#define FRONTIER_TRAINER_DARIO          251 +#define FRONTIER_TRAINER_KARLEE         252 +#define FRONTIER_TRAINER_JAYLIN         253 +#define FRONTIER_TRAINER_INGRID         254 +#define FRONTIER_TRAINER_DELILAH        255 +#define FRONTIER_TRAINER_CARLY          256 +#define FRONTIER_TRAINER_LEXIE          257 +#define FRONTIER_TRAINER_MILLER         258 +#define FRONTIER_TRAINER_MARV           259 +#define FRONTIER_TRAINER_LAYTON         260 +#define FRONTIER_TRAINER_BROOKS         261 +#define FRONTIER_TRAINER_GREGORY        262 +#define FRONTIER_TRAINER_REESE          263 +#define FRONTIER_TRAINER_MASON          264 +#define FRONTIER_TRAINER_TOBY           265 +#define FRONTIER_TRAINER_DOROTHY        266 +#define FRONTIER_TRAINER_PIPER          267 +#define FRONTIER_TRAINER_FINN           268 +#define FRONTIER_TRAINER_SAMIR          269 +#define FRONTIER_TRAINER_FIONA          270 +#define FRONTIER_TRAINER_GLORIA         271 +#define FRONTIER_TRAINER_NICO           272 +#define FRONTIER_TRAINER_JEREMY         273 +#define FRONTIER_TRAINER_CAITLIN        274 +#define FRONTIER_TRAINER_REENA          275 +#define FRONTIER_TRAINER_AVERY          276 +#define FRONTIER_TRAINER_LIAM           277 +#define FRONTIER_TRAINER_THEO           278 +#define FRONTIER_TRAINER_BAILEY         279 +#define FRONTIER_TRAINER_HUGO           280 +#define FRONTIER_TRAINER_BRYCE          281 +#define FRONTIER_TRAINER_GIDEON         282 +#define FRONTIER_TRAINER_TRISTON        283 +#define FRONTIER_TRAINER_CHARLES        284 +#define FRONTIER_TRAINER_RAYMOND        285 +#define FRONTIER_TRAINER_DIRK           286 +#define FRONTIER_TRAINER_HAROLD         287 +#define FRONTIER_TRAINER_OMAR           288 +#define FRONTIER_TRAINER_PETER          289 +#define FRONTIER_TRAINER_DEV            290 +#define FRONTIER_TRAINER_COREY          291 +#define FRONTIER_TRAINER_ANDRE          292 +#define FRONTIER_TRAINER_FERRIS         293 +#define FRONTIER_TRAINER_ALIVIA         294 +#define FRONTIER_TRAINER_PAIGE          295 +#define FRONTIER_TRAINER_ANYA           296 +#define FRONTIER_TRAINER_DAWN           297 +#define FRONTIER_TRAINER_ABBY           298 +#define FRONTIER_TRAINER_GRETEL         299 + +#define FRONTIER_TRAINERS_COUNT         300 + +// special trainer IDs begin at 300, see constants/trainers.h + +#endif  // GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H diff --git a/include/constants/battle_palace.h b/include/constants/battle_palace.h new file mode 100644 index 000000000..db9855101 --- /dev/null +++ b/include/constants/battle_palace.h @@ -0,0 +1,19 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PALACE_H +#define GUARD_CONSTANTS_BATTLE_PALACE_H + +#define BATTLE_PALACE_FUNC_INIT                 0 +#define BATTLE_PALACE_FUNC_GET_DATA             1 +#define BATTLE_PALACE_FUNC_SET_DATA             2 +#define BATTLE_PALACE_FUNC_GET_COMMENT_ID       3 +#define BATTLE_PALACE_FUNC_SET_OPPONENT         4 +#define BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO   5 +#define BATTLE_PALACE_FUNC_INCREMENT_STREAK     6 +#define BATTLE_PALACE_FUNC_SAVE                 7 +#define BATTLE_PALACE_FUNC_SET_PRIZE            8 +#define BATTLE_PALACE_FUNC_GIVE_PRIZE           9 + +#define PALACE_DATA_PRIZE               0 +#define PALACE_DATA_WIN_STREAK          1 +#define PALACE_DATA_WIN_STREAK_ACTIVE   2 + +#endif //GUARD_CONSTANTS_BATTLE_PALACE_H diff --git a/include/constants/battle_pike.h b/include/constants/battle_pike.h new file mode 100644 index 000000000..9187ae28c --- /dev/null +++ b/include/constants/battle_pike.h @@ -0,0 +1,72 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PIKE_H +#define GUARD_CONSTANTS_BATTLE_PIKE_H + +#define PIKE_ROOM_SINGLE_BATTLE 0 +#define PIKE_ROOM_HEAL_FULL 1 +#define PIKE_ROOM_NPC 2 +#define PIKE_ROOM_STATUS 3 +#define PIKE_ROOM_HEAL_PART 4 +#define PIKE_ROOM_WILD_MONS 5 +#define PIKE_ROOM_HARD_BATTLE 6 +#define PIKE_ROOM_DOUBLE_BATTLE 7 +#define PIKE_ROOM_BRAIN 8 +#define NUM_PIKE_ROOM_TYPES 9 + +#define PIKE_ROOM_LEFT    0 +#define PIKE_ROOM_CENTER  1 +#define PIKE_ROOM_RIGHT   2 + +#define PIKE_HINT_NOSTALGIA  0 +#define PIKE_HINT_WHISPERING 1 +#define PIKE_HINT_POKEMON    2 +#define PIKE_HINT_PEOPLE     3 +#define PIKE_HINT_BRAIN      4 + +// For the room with a status effect. +#define PIKE_STATUSMON_KIRLIA   0 +#define PIKE_STATUSMON_DUSCLOPS 1 + +#define PIKE_STATUS_FREEZE      0 +#define PIKE_STATUS_BURN        1 +#define PIKE_STATUS_TOXIC       2 +#define PIKE_STATUS_PARALYSIS   3 +#define PIKE_STATUS_SLEEP       4 + +// Function IDs for sBattlePikeFunctions / CallBattlePikeFunction +#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE             0 +#define BATTLE_PIKE_FUNC_GET_DATA                  1 +#define BATTLE_PIKE_FUNC_SET_DATA                  2 +#define BATTLE_PIKE_FUNC_IS_FINAL_ROOM             3 +#define BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS          4 +#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE             5 +#define BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM      6 +#define BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM    7 +#define BATTLE_PIKE_FUNC_SAVE                      8 +#define BATTLE_PIKE_FUNC_NULL_9                    9 +#define BATTLE_PIKE_FUNC_NULL_10                   10 +#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS           11 +#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON       12 +#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS         13 +#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG            14 +#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH       15 +#define BATTLE_PIKE_FUNC_IS_IN                     16 +#define BATTLE_PIKE_FUNC_SET_HINT_ROOM             17 +#define BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID          18 +#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT        19 +#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS         20 +#define BATTLE_PIKE_FUNC_GET_TRAINER_INTRO         21 +#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE      22 +#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN    23 +#define BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED   24 +#define BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH      25 +#define BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS           26 +#define BATTLE_PIKE_FUNC_RESET_HELD_ITEMS          27 +#define BATTLE_PIKE_FUNC_INIT                      28 + +#define PIKE_DATA_PRIZE             0 +#define PIKE_DATA_WIN_STREAK        1 +#define PIKE_DATA_RECORD_STREAK     2 +#define PIKE_DATA_TOTAL_STREAKS     3 +#define PIKE_DATA_WIN_STREAK_ACTIVE 4 + +#endif // GUARD_CONSTANTS_BATTLE_PIKE_H diff --git a/include/constants/battle_pyramid.h b/include/constants/battle_pyramid.h new file mode 100644 index 000000000..004df7155 --- /dev/null +++ b/include/constants/battle_pyramid.h @@ -0,0 +1,61 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PYRAMID_H +#define GUARD_CONSTANTS_BATTLE_PYRAMID_H + +#define TOTAL_ROUNDS 20 +#define PICKUP_ITEMS_PER_ROUND 10 + +#define FLOOR_WALKABLE_METATILE 0x28D +#define FLOOR_EXIT_METATILE 0x28E + +#define HINT_EXIT_DIRECTION                   0 +#define HINT_REMAINING_ITEMS                  1 +#define HINT_REMAINING_TRAINERS               2 +#define HINT_EXIT_SHORT_REMAINING_TRAINERS    3 +#define HINT_EXIT_SHORT_REMAINING_ITEMS       4 +#define HINT_EXIT_MEDIUM_REMAINING_TRAINERS   5 +#define HINT_EXIT_MEDIUM_REMAINING_ITEMS      6 +#define HINT_EXIT_FAR_REMAINING_TRAINERS      7 +#define HINT_EXIT_FAR_REMAINING_ITEMS         8 + +#define OBJ_TRAINERS  0 +#define OBJ_ITEMS     1 + +#define OBJ_POSITIONS_UNIFORM               0 +#define OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE  1 +#define OBJ_POSITIONS_IN_AND_NEAR_EXIT      2 +#define OBJ_POSITIONS_NEAR_ENTRANCE         3          +#define OBJ_POSITIONS_NEAR_EXIT             4 + +// Functions IDs for sBattlePyramidFunctions / CallBattlePyramidFunction +#define BATTLE_PYRAMID_FUNC_INIT                0 +#define BATTLE_PYRAMID_FUNC_GET_DATA            1 +#define BATTLE_PYRAMID_FUNC_SET_DATA            2 +#define BATTLE_PYRAMID_FUNC_SAVE                3 +#define BATTLE_PYRAMID_FUNC_SET_PRIZE           4 +#define BATTLE_PYRAMID_FUNC_GIVE_PRIZE          5 // unused +#define BATTLE_PYRAMID_FUNC_SEED_FLOOR          6 +#define BATTLE_PYRAMID_FUNC_SET_ITEM            7 +#define BATTLE_PYRAMID_FUNC_HIDE_ITEM           8 +#define BATTLE_PYRAMID_FUNC_SET_TRAINERS        9 +#define BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT      10 +#define BATTLE_PYRAMID_FUNC_UPDATE_STREAK       11 // unused +#define BATTLE_PYRAMID_FUNC_IS_IN               12 +#define BATTLE_PYRAMID_FUNC_UPDATE_LIGHT        13 +#define BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS    14 +#define BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE   15 +#define BATTLE_PYRAMID_FUNC_START_MENU          16 // unused +#define BATTLE_PYRAMID_FUNC_RESTORE_PARTY       17 + +#define PYRAMID_DATA_PRIZE                   0 +#define PYRAMID_DATA_WIN_STREAK              1 +#define PYRAMID_DATA_WIN_STREAK_ACTIVE       2 +#define PYRAMID_DATA_WIN_STREAK_50           3 // the below streak data are redundant with the above when frontier.lvlMode is correct +#define PYRAMID_DATA_WIN_STREAK_OPEN         4 +#define PYRAMID_DATA_WIN_STREAK_ACTIVE_50    5 +#define PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN  6 +#define PYRAMID_DATA_TRAINER_FLAGS           7 + +#define PYRAMID_LIGHT_SET_RADIUS  0 +#define PYRAMID_LIGHT_INCR_RADIUS 1 + +#endif // GUARD_CONSTANTS_BATTLE_PYRAMID_H diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 894bd13b6..dfcf79128 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -39,16 +39,16 @@  #define BS_EFFECT_BATTLER           2  #define BS_FAINTED                  3  #define BS_BATTLER_0                7 -#define BS_ATTACKER_WITH_PARTNER    4 // for atk98_status_icon_update -#define BS_ATTACKER_SIDE            8 // for atk1E_jumpifability -#define BS_NOT_ATTACKER_SIDE        9 // for atk1E_jumpifability +#define BS_ATTACKER_WITH_PARTNER    4 // for Cmd_updatestatusicon +#define BS_ATTACKER_SIDE            8 // for Cmd_jumpifability +#define BS_NOT_ATTACKER_SIDE        9 // for Cmd_jumpifability  #define BS_SCRIPTING                10  #define BS_PLAYER1                  11  #define BS_OPPONENT1                12  #define BS_PLAYER2                  13  #define BS_OPPONENT2                14 -// atk 01, accuracy calc +// Cmd_accuracycheck  #define NO_ACC_CALC 0xFFFE  #define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF  #define ACC_CURR_MOVE 0 @@ -61,7 +61,7 @@  #define CMP_COMMON_BITS         0x4  #define CMP_NO_COMMON_BITS      0x5 -// atk76, various +// Cmd_various  #define VARIOUS_CANCEL_MULTI_TURN_MOVES         0  #define VARIOUS_SET_MAGIC_COAT_TARGET           1  #define VARIOUS_IS_RUNNING_IMPOSSIBLE           2 @@ -84,44 +84,25 @@  #define VARIOUS_SET_TELEPORT_OUTCOME            25  #define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC     26 -// atk80, dmg manipulation -#define ATK80_DMG_CHANGE_SIGN                               0 -#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP     1 -#define ATK80_DMG_DOUBLED                                   2 +// Cmd_manipulatedmg +#define DMG_CHANGE_SIGN            0 +#define DMG_RECOIL_FROM_MISS       1 +#define DMG_DOUBLED                2 -// atk4F, a flag used for the jumpifcantswitch command -#define ATK4F_DONT_CHECK_STATUSES   0x80 +// Cmd_jumpifcantswitch +#define SWITCH_IGNORE_ESCAPE_PREVENTION   0x80 -// statchange defines -#define STAT_CHANGE_BS_PTR                  0x1 -#define STAT_CHANGE_NOT_PROTECT_AFFECTED    0x20 +// Cmd_statbuffchange +#define STAT_BUFF_ALLOW_PTR                 0x1   // If set, allow use of jumpptr. Set in every use of statbuffchange +#define STAT_BUFF_NOT_PROTECT_AFFECTED      0x20 -// atk48 -#define ATK48_STAT_NEGATIVE         0x1 -#define ATK48_STAT_BY_TWO           0x2 -#define ATK48_ONLY_MULTIPLE         0x4 -#define ATK48_DONT_CHECK_LOWER      0x8 - -// atk49, moveend cases -#define ATK49_RAGE                              0 -#define ATK49_DEFROST                           1 -#define ATK49_SYNCHRONIZE_TARGET                2 -#define ATK49_MOVE_END_ABILITIES                3 -#define ATK49_STATUS_IMMUNITY_ABILITIES         4 -#define ATK49_SYNCHRONIZE_ATTACKER              5 -#define ATK49_CHOICE_MOVE                       6 -#define ATK49_CHANGED_ITEMS                     7 -#define ATK49_ATTACKER_INVISIBLE                8 -#define ATK49_ATTACKER_VISIBLE                  9 -#define ATK49_TARGET_VISIBLE                    10 -#define ATK49_ITEM_EFFECTS_ALL                  11 -#define ATK49_KINGSROCK_SHELLBELL               12 -#define ATK49_SUBSTITUTE                        13 -#define ATK49_UPDATE_LAST_MOVES                 14 -#define ATK49_MIRROR_MOVE                       15 -#define ATK49_NEXT_TARGET                       16 -#define ATK49_COUNT                             17 +// stat change flags for Cmd_playstatchangeanimation +#define STAT_CHANGE_NEGATIVE             0x1 +#define STAT_CHANGE_BY_TWO               0x2 +#define STAT_CHANGE_MULTIPLE_STATS       0x4 +#define STAT_CHANGE_CANT_PREVENT         0x8 +// stat flags for Cmd_playstatchangeanimation  #define BIT_HP                      0x1  #define BIT_ATK                     0x2  #define BIT_DEF                     0x4 @@ -131,4 +112,24 @@  #define BIT_ACC                     0x40  #define BIT_EVASION                 0x80 +// cases for Cmd_moveend +#define MOVEEND_RAGE                              0 +#define MOVEEND_DEFROST                           1 +#define MOVEEND_SYNCHRONIZE_TARGET                2 +#define MOVEEND_ON_DAMAGE_ABILITIES               3 +#define MOVEEND_IMMUNITY_ABILITIES                4 +#define MOVEEND_SYNCHRONIZE_ATTACKER              5 +#define MOVEEND_CHOICE_MOVE                       6 +#define MOVEEND_CHANGED_ITEMS                     7 +#define MOVEEND_ATTACKER_INVISIBLE                8 +#define MOVEEND_ATTACKER_VISIBLE                  9 +#define MOVEEND_TARGET_VISIBLE                    10 +#define MOVEEND_ITEM_EFFECTS_ALL                  11 +#define MOVEEND_KINGSROCK_SHELLBELL               12 +#define MOVEEND_SUBSTITUTE                        13 +#define MOVEEND_UPDATE_LAST_MOVES                 14 +#define MOVEEND_MIRROR_MOVE                       15 +#define MOVEEND_NEXT_TARGET                       16 +#define MOVEEND_COUNT                             17 +  #endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/constants/battle_setup.h b/include/constants/battle_setup.h index d98e1762f..d825c88bc 100644 --- a/include/constants/battle_setup.h +++ b/include/constants/battle_setup.h @@ -13,6 +13,6 @@  #define TRAINER_BATTLE_PYRAMID                          9  #define TRAINER_BATTLE_SET_TRAINER_A                    10  #define TRAINER_BATTLE_SET_TRAINER_B                    11 -#define TRAINER_BATTLE_12                               12 +#define TRAINER_BATTLE_HILL                             12  #endif // GUARD_CONSTANTS_BATTLE_SETUP_H diff --git a/include/constants/battle_tent.h b/include/constants/battle_tent.h new file mode 100644 index 000000000..666ada6bd --- /dev/null +++ b/include/constants/battle_tent.h @@ -0,0 +1,32 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TENT_H +#define GUARD_CONSTANTS_BATTLE_TENT_H + +#define VERDANTURF_TENT_FUNC_INIT                0 +#define VERDANTURF_TENT_FUNC_GET_PRIZE           1 +#define VERDANTURF_TENT_FUNC_SET_PRIZE           2 +#define VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX    3 +#define VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO  4 +#define VERDANTURF_TENT_FUNC_SAVE                5 +#define VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE    6 +#define VERDANTURF_TENT_FUNC_GIVE_PRIZE          7 + +#define FALLARBOR_TENT_FUNC_INIT               0 +#define FALLARBOR_TENT_FUNC_GET_PRIZE          1 +#define FALLARBOR_TENT_FUNC_SET_PRIZE          2 +#define FALLARBOR_TENT_FUNC_SAVE               3 +#define FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE   4 +#define FALLARBOR_TENT_FUNC_GIVE_PRIZE         5 +#define FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME  6 + +#define SLATEPORT_TENT_FUNC_INIT                    0 +#define SLATEPORT_TENT_FUNC_GET_PRIZE               1 +#define SLATEPORT_TENT_FUNC_SET_PRIZE               2 +#define SLATEPORT_TENT_FUNC_SAVE                    3 +#define SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE        4 +#define SLATEPORT_TENT_FUNC_GIVE_PRIZE              5 +#define SLATEPORT_TENT_FUNC_SELECT_RENT_MONS        6 +#define SLATEPORT_TENT_FUNC_SWAP_RENT_MONS          7 +#define SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS  8 +#define SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS    9 + +#endif // GUARD_CONSTANTS_BATTLE_TENT_H diff --git a/include/constants/battle_tent_mons.h b/include/constants/battle_tent_mons.h new file mode 100644 index 000000000..d9fc89a20 --- /dev/null +++ b/include/constants/battle_tent_mons.h @@ -0,0 +1,173 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TENT_MONS_H +#define GUARD_CONSTANTS_BATTLE_TENT_MONS_H + +#define SLATEPORT_TENT_MON_ZIGZAGOON_1  0 +#define SLATEPORT_TENT_MON_ZIGZAGOON_2  1 +#define SLATEPORT_TENT_MON_BEAUTIFLY    2 +#define SLATEPORT_TENT_MON_DUSTOX       3 +#define SLATEPORT_TENT_MON_WAILMER_1    4 +#define SLATEPORT_TENT_MON_WAILMER_2    5 +#define SLATEPORT_TENT_MON_MARILL_1     6 +#define SLATEPORT_TENT_MON_WINGULL_1    7 +#define SLATEPORT_TENT_MON_PELIPPER_1   8 +#define SLATEPORT_TENT_MON_CACNEA_1     9 +#define SLATEPORT_TENT_MON_LOMBRE_1     10 +#define SLATEPORT_TENT_MON_LOTAD        11 +#define SLATEPORT_TENT_MON_SEEDOT       12 +#define SLATEPORT_TENT_MON_NUZLEAF      13 +#define SLATEPORT_TENT_MON_NINJASK_1    14 +#define SLATEPORT_TENT_MON_NINJASK_2    15 +#define SLATEPORT_TENT_MON_GRAVELER     16 +#define SLATEPORT_TENT_MON_BALTOY       17 +#define SLATEPORT_TENT_MON_MIGHTYENA_1  18 +#define SLATEPORT_TENT_MON_MIGHTYENA_2  19 +#define SLATEPORT_TENT_MON_LINOONE      20 +#define SLATEPORT_TENT_MON_GOLDEEN      21 +#define SLATEPORT_TENT_MON_ELECTRIKE_1  22 +#define SLATEPORT_TENT_MON_VOLTORB      23 +#define SLATEPORT_TENT_MON_ARON_1       24 +#define SLATEPORT_TENT_MON_ARON_2       25 +#define SLATEPORT_TENT_MON_TRAPINCH_1   26 +#define SLATEPORT_TENT_MON_CACNEA_2     27 +#define SLATEPORT_TENT_MON_TAILLOW      28 +#define SLATEPORT_TENT_MON_SWELLOW      29 +#define SLATEPORT_TENT_MON_GOLBAT_1     30 +#define SLATEPORT_TENT_MON_LOUDRED      31 +#define SLATEPORT_TENT_MON_SPINDA       32 +#define SLATEPORT_TENT_MON_MAGNEMITE    33 +#define SLATEPORT_TENT_MON_WHISMUR      34 +#define SLATEPORT_TENT_MON_MAKUHITA     35 +#define SLATEPORT_TENT_MON_NUMEL_1      36 +#define SLATEPORT_TENT_MON_BARBOACH     37 +#define SLATEPORT_TENT_MON_TENTACOOL    38 +#define SLATEPORT_TENT_MON_VIGOROTH     39 +#define SLATEPORT_TENT_MON_MAGIKARP     40 +#define SLATEPORT_TENT_MON_SEVIPER_1    41 +#define SLATEPORT_TENT_MON_SOLROCK      42 +#define SLATEPORT_TENT_MON_KECLEON_1    43 +#define SLATEPORT_TENT_MON_KECLEON_2    44 +#define SLATEPORT_TENT_MON_SHROOMISH_1  45 +#define SLATEPORT_TENT_MON_SHROOMISH_2  46 +#define SLATEPORT_TENT_MON_LOMBRE_2     47 +#define SLATEPORT_TENT_MON_NUMEL_2      48 +#define SLATEPORT_TENT_MON_TRAPINCH_2   49 +#define SLATEPORT_TENT_MON_PELIPPER_2   50 +#define SLATEPORT_TENT_MON_WINGULL_2    51 +#define SLATEPORT_TENT_MON_MARILL_2     52 +#define SLATEPORT_TENT_MON_SKITTY       53 +#define SLATEPORT_TENT_MON_SEVIPER_2    54 +#define SLATEPORT_TENT_MON_GOLBAT_2     55 +#define SLATEPORT_TENT_MON_RALTS        56 +#define SLATEPORT_TENT_MON_SANDSHREW    57 +#define SLATEPORT_TENT_MON_SWALOT       58 +#define SLATEPORT_TENT_MON_VOLBEAT      59 +#define SLATEPORT_TENT_MON_ILLUMISE     60 +#define SLATEPORT_TENT_MON_KADABRA      61 +#define SLATEPORT_TENT_MON_KIRLIA       62 +#define SLATEPORT_TENT_MON_BRELOOM      63 +#define SLATEPORT_TENT_MON_PLUSLE_1     64 +#define SLATEPORT_TENT_MON_PLUSLE_2     65 +#define SLATEPORT_TENT_MON_ELECTRIKE_2  66 +#define SLATEPORT_TENT_MON_SWABLU       67 +#define SLATEPORT_TENT_MON_MACHOP       68 +#define SLATEPORT_TENT_MON_MACHOKE      69 + +#define NUM_SLATEPORT_TENT_MONS         70 + +#define VERDANTURF_TENT_MON_POOCHYENA   0 +#define VERDANTURF_TENT_MON_ZIGZAGOON   1 +#define VERDANTURF_TENT_MON_DUSTOX      2 +#define VERDANTURF_TENT_MON_TAILLOW     3 +#define VERDANTURF_TENT_MON_SHROOMISH   4 +#define VERDANTURF_TENT_MON_MACHOP      5 +#define VERDANTURF_TENT_MON_MAGIKARP    6 +#define VERDANTURF_TENT_MON_BARBOACH    7 +#define VERDANTURF_TENT_MON_WINGULL     8 +#define VERDANTURF_TENT_MON_ARON_1      9 +#define VERDANTURF_TENT_MON_NUMEL_1     10 +#define VERDANTURF_TENT_MON_SWALOT      11 +#define VERDANTURF_TENT_MON_KECLEON     12 +#define VERDANTURF_TENT_MON_BALTOY      13 +#define VERDANTURF_TENT_MON_NINJASK     14 +#define VERDANTURF_TENT_MON_MAKUHITA    15 +#define VERDANTURF_TENT_MON_SWABLU      16 +#define VERDANTURF_TENT_MON_GOLDEEN_1   17 +#define VERDANTURF_TENT_MON_LOTAD       18 +#define VERDANTURF_TENT_MON_NUMEL_2     19 +#define VERDANTURF_TENT_MON_LINOONE     20 +#define VERDANTURF_TENT_MON_SEVIPER     21 +#define VERDANTURF_TENT_MON_SKARMORY    22 +#define VERDANTURF_TENT_MON_SWELLOW     23 +#define VERDANTURF_TENT_MON_GOLDEEN_2   24 +#define VERDANTURF_TENT_MON_ELECTRIKE   25 +#define VERDANTURF_TENT_MON_NUZLEAF     26 +#define VERDANTURF_TENT_MON_ARON_2      27 +#define VERDANTURF_TENT_MON_MIGHTYENA   28 +#define VERDANTURF_TENT_MON_SOLROCK     29 +#define VERDANTURF_TENT_MON_GRAVELER    30 +#define VERDANTURF_TENT_MON_KADABRA     31 +#define VERDANTURF_TENT_MON_VOLTORB     32 +#define VERDANTURF_TENT_MON_MAGNEMITE   33 +#define VERDANTURF_TENT_MON_PELIPPER    34 +#define VERDANTURF_TENT_MON_LOUDRED     35 +#define VERDANTURF_TENT_MON_MARILL      36 +#define VERDANTURF_TENT_MON_TRAPINCH    37 +#define VERDANTURF_TENT_MON_TENTACOOL   38 +#define VERDANTURF_TENT_MON_VIGOROTH    39 +#define VERDANTURF_TENT_MON_WAILMER     40 +#define VERDANTURF_TENT_MON_ILLUMISE    41 +#define VERDANTURF_TENT_MON_MACHOKE     42 +#define VERDANTURF_TENT_MON_WHISMUR     43 +#define VERDANTURF_TENT_MON_CACNEA      44 + +#define NUM_VERDANTURF_TENT_MONS        45 + +#define FALLARBOR_TENT_MON_NUMEL        0 +#define FALLARBOR_TENT_MON_LINOONE_1    1 +#define FALLARBOR_TENT_MON_PLUSLE       2 +#define FALLARBOR_TENT_MON_POOCHYENA    3 +#define FALLARBOR_TENT_MON_KECLEON      4 +#define FALLARBOR_TENT_MON_MAGIKARP     5 +#define FALLARBOR_TENT_MON_SOLROCK      6 +#define FALLARBOR_TENT_MON_MAKUHITA     7 +#define FALLARBOR_TENT_MON_MACHOKE      8 +#define FALLARBOR_TENT_MON_NINCADA      9 +#define FALLARBOR_TENT_MON_BEAUTIFLY    10 +#define FALLARBOR_TENT_MON_DUSTOX       11 +#define FALLARBOR_TENT_MON_ILLUMISE     12 +#define FALLARBOR_TENT_MON_VOLBEAT      13 +#define FALLARBOR_TENT_MON_NINJASK_1    14 +#define FALLARBOR_TENT_MON_NINJASK_2    15 +#define FALLARBOR_TENT_MON_ARON_1       16 +#define FALLARBOR_TENT_MON_ARON_2       17 +#define FALLARBOR_TENT_MON_ELECTRIKE    18 +#define FALLARBOR_TENT_MON_MAGNEMITE    19 +#define FALLARBOR_TENT_MON_VOLTORB      20 +#define FALLARBOR_TENT_MON_WHISMUR      21 +#define FALLARBOR_TENT_MON_LOUDRED      22 +#define FALLARBOR_TENT_MON_LINOONE_2    23 +#define FALLARBOR_TENT_MON_MIGHTYENA    24 +#define FALLARBOR_TENT_MON_SWABLU       25 +#define FALLARBOR_TENT_MON_SKARMORY     26 +#define FALLARBOR_TENT_MON_GOLBAT       27 +#define FALLARBOR_TENT_MON_WINGULL      28 +#define FALLARBOR_TENT_MON_PELIPPER     29 +#define FALLARBOR_TENT_MON_BARBOACH     30 +#define FALLARBOR_TENT_MON_WAILMER      31 +#define FALLARBOR_TENT_MON_MARILL       32 +#define FALLARBOR_TENT_MON_GOLDEEN_1    33 +#define FALLARBOR_TENT_MON_GOLDEEN_2    34 +#define FALLARBOR_TENT_MON_TRAPINCH     35 +#define FALLARBOR_TENT_MON_BALTOY       36 +#define FALLARBOR_TENT_MON_GRAVELER     37 +#define FALLARBOR_TENT_MON_SANDSHREW    38 +#define FALLARBOR_TENT_MON_SWALOT       39 +#define FALLARBOR_TENT_MON_SHROOMISH    40 +#define FALLARBOR_TENT_MON_KIRLIA       41 +#define FALLARBOR_TENT_MON_LOMBRE       42 +#define FALLARBOR_TENT_MON_NUZLEAF      43 +#define FALLARBOR_TENT_MON_CACNEA       44 + +#define NUM_FALLARBOR_TENT_MONS         45 + +#endif  // GUARD_CONSTANTS_BATTLE_TENT_MONS_H diff --git a/include/constants/battle_tent_trainers.h b/include/constants/battle_tent_trainers.h new file mode 100644 index 000000000..3629da0ca --- /dev/null +++ b/include/constants/battle_tent_trainers.h @@ -0,0 +1,99 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H +#define GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H + +#define SLATEPORT_TENT_TRAINER_JOLIE    0 +#define SLATEPORT_TENT_TRAINER_MALACHI  1 +#define SLATEPORT_TENT_TRAINER_KELSIE   2 +#define SLATEPORT_TENT_TRAINER_DAVON    3 +#define SLATEPORT_TENT_TRAINER_GLENDA   4 +#define SLATEPORT_TENT_TRAINER_HELENA   5 +#define SLATEPORT_TENT_TRAINER_RODOLFO  6 +#define SLATEPORT_TENT_TRAINER_DAVION   7 +#define SLATEPORT_TENT_TRAINER_KENDALL  8 +#define SLATEPORT_TENT_TRAINER_COLTEN   9 +#define SLATEPORT_TENT_TRAINER_IRVIN    10 +#define SLATEPORT_TENT_TRAINER_SHAUN    11 +#define SLATEPORT_TENT_TRAINER_KYLER    12 +#define SLATEPORT_TENT_TRAINER_MAGGIE   13 +#define SLATEPORT_TENT_TRAINER_STEPHON  14 +#define SLATEPORT_TENT_TRAINER_REBECCA  15 +#define SLATEPORT_TENT_TRAINER_REGGIE   16 +#define SLATEPORT_TENT_TRAINER_JANAE    17 +#define SLATEPORT_TENT_TRAINER_CAIDEN   18 +#define SLATEPORT_TENT_TRAINER_KIRSTEN  19 +#define SLATEPORT_TENT_TRAINER_KURTIS   20 +#define SLATEPORT_TENT_TRAINER_STEFAN   21 +#define SLATEPORT_TENT_TRAINER_AVERY    22 +#define SLATEPORT_TENT_TRAINER_DWANE    23 +#define SLATEPORT_TENT_TRAINER_MCKENNA  24 +#define SLATEPORT_TENT_TRAINER_CAMRYN   25 +#define SLATEPORT_TENT_TRAINER_NATASHA  26 +#define SLATEPORT_TENT_TRAINER_AUSTYN   27 +#define SLATEPORT_TENT_TRAINER_DONOVAN  28 +#define SLATEPORT_TENT_TRAINER_TAMIA    29 + +#define VERDANTURF_TENT_TRAINER_BRENNA  0 +#define VERDANTURF_TENT_TRAINER_DILAN   1 +#define VERDANTURF_TENT_TRAINER_ELIANA  2 +#define VERDANTURF_TENT_TRAINER_MARKUS  3 +#define VERDANTURF_TENT_TRAINER_CAITLYN 4 +#define VERDANTURF_TENT_TRAINER_DESIREE 5 +#define VERDANTURF_TENT_TRAINER_RONALD  6 +#define VERDANTURF_TENT_TRAINER_ASHTEN  7 +#define VERDANTURF_TENT_TRAINER_GERARD  8 +#define VERDANTURF_TENT_TRAINER_BRADLY  9 +#define VERDANTURF_TENT_TRAINER_DENNIS  10 +#define VERDANTURF_TENT_TRAINER_PRESTIN 11 +#define VERDANTURF_TENT_TRAINER_ERNESTO 12 +#define VERDANTURF_TENT_TRAINER_NALA    13 +#define VERDANTURF_TENT_TRAINER_DARNELL 14 +#define VERDANTURF_TENT_TRAINER_ASHLYN  15 +#define VERDANTURF_TENT_TRAINER_ADDISON 16 +#define VERDANTURF_TENT_TRAINER_JUSTINE 17 +#define VERDANTURF_TENT_TRAINER_TYSON   18 +#define VERDANTURF_TENT_TRAINER_LAILA   19 +#define VERDANTURF_TENT_TRAINER_WAREN   20 +#define VERDANTURF_TENT_TRAINER_TOBIAS  21 +#define VERDANTURF_TENT_TRAINER_JOSIAH  22 +#define VERDANTURF_TENT_TRAINER_DION    23 +#define VERDANTURF_TENT_TRAINER_KENZIE  24 +#define VERDANTURF_TENT_TRAINER_LILLIAN 25 +#define VERDANTURF_TENT_TRAINER_LESLEY  26 +#define VERDANTURF_TENT_TRAINER_MARQUIS 27 +#define VERDANTURF_TENT_TRAINER_FREDDY  28 +#define VERDANTURF_TENT_TRAINER_CECILIA 29 + +#define FALLARBOR_TENT_TRAINER_AMBER    0 +#define FALLARBOR_TENT_TRAINER_JAVIER   1 +#define FALLARBOR_TENT_TRAINER_NATALIA  2 +#define FALLARBOR_TENT_TRAINER_TREVE    3 +#define FALLARBOR_TENT_TRAINER_ARIANNA  4 +#define FALLARBOR_TENT_TRAINER_JADYN    5 +#define FALLARBOR_TENT_TRAINER_GERARDO  6 +#define FALLARBOR_TENT_TRAINER_JONN     7 +#define FALLARBOR_TENT_TRAINER_ESTEBAN  8 +#define FALLARBOR_TENT_TRAINER_JAMESON  9 +#define FALLARBOR_TENT_TRAINER_ALANZO   10 +#define FALLARBOR_TENT_TRAINER_HOWARD   11 +#define FALLARBOR_TENT_TRAINER_CONRAD   12 +#define FALLARBOR_TENT_TRAINER_MAKENNA  13 +#define FALLARBOR_TENT_TRAINER_BRAYAN   14 +#define FALLARBOR_TENT_TRAINER_MARIANA  15 +#define FALLARBOR_TENT_TRAINER_SHELDON  16 +#define FALLARBOR_TENT_TRAINER_GIANNA   17 +#define FALLARBOR_TENT_TRAINER_YAHIR    18 +#define FALLARBOR_TENT_TRAINER_BRITNEY  19 +#define FALLARBOR_TENT_TRAINER_HECTER   20 +#define FALLARBOR_TENT_TRAINER_TANNOR   21 +#define FALLARBOR_TENT_TRAINER_BENJI    22 +#define FALLARBOR_TENT_TRAINER_RORY     23 +#define FALLARBOR_TENT_TRAINER_ELEANOR  24 +#define FALLARBOR_TENT_TRAINER_EVELYN   25 +#define FALLARBOR_TENT_TRAINER_ARIELLE  26 +#define FALLARBOR_TENT_TRAINER_CONNAR   27 +#define FALLARBOR_TENT_TRAINER_MAURICE  28 +#define FALLARBOR_TENT_TRAINER_KIANNA   29 + +#define NUM_BATTLE_TENT_TRAINERS 30 + +#endif  // GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H diff --git a/include/constants/battle_tower.h b/include/constants/battle_tower.h new file mode 100644 index 000000000..b372c3ad5 --- /dev/null +++ b/include/constants/battle_tower.h @@ -0,0 +1,41 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TOWER_H +#define GUARD_CONSTANTS_BATTLE_TOWER_H + +#define BATTLE_TOWER_FUNC_INIT                  0 +#define BATTLE_TOWER_FUNC_GET_DATA              1 +#define BATTLE_TOWER_FUNC_SET_DATA              2 +#define BATTLE_TOWER_FUNC_SET_OPPONENT          3 +#define BATTLE_TOWER_FUNC_SET_BATTLE_WON        4 +#define BATTLE_TOWER_FUNC_GIVE_RIBBONS          5 +#define BATTLE_TOWER_FUNC_SAVE                  6 +#define BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO    7 +#define BATTLE_TOWER_FUNC_NOP                   8 +#define BATTLE_TOWER_FUNC_NOP2                  9 +#define BATTLE_TOWER_FUNC_LOAD_PARTNERS         10 +#define BATTLE_TOWER_FUNC_PARTNER_MSG           11 +#define BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS   12 +#define BATTLE_TOWER_FUNC_13                    13 +#define BATTLE_TOWER_FUNC_SET_PARTNER_GFX       14 +#define BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA    15 + +#define TOWER_DATA_WIN_STREAK         1 +#define TOWER_DATA_WIN_STREAK_ACTIVE  2 +#define TOWER_DATA_LVL_MODE           3 + +// IDs for the messages printed by potential partners in the Battle Tower Multi Partner Room +#define PARTNER_MSGID_INTRO      0 +#define PARTNER_MSGID_MON1       1 +#define PARTNER_MSGID_MON2_ASK   2 +#define PARTNER_MSGID_ACCEPT     3 +#define PARTNER_MSGID_REJECT     4 + +// IDs for communicating with the Link Multi partner +#define BATTLE_TOWER_LINK_CONTINUE  0 +#define BATTLE_TOWER_LINK_RETIRE    1 + +#define BATTLE_TOWER_LINKSTAT_CONTINUE        0 +#define BATTLE_TOWER_LINKSTAT_BOTH_RETIRE     1 +#define BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE  2 +#define BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE   3 + +#endif //GUARD_CONSTANTS_BATTLE_TOWER_H diff --git a/include/constants/berry.h b/include/constants/berry.h new file mode 100644 index 000000000..d413b9947 --- /dev/null +++ b/include/constants/berry.h @@ -0,0 +1,28 @@ +#ifndef GUARD_CONSTANTS_BERRY_H +#define GUARD_CONSTANTS_BERRY_H + +#define BERRY_NONE 0 + +#define BERRY_FIRMNESS_UNKNOWN     0 +#define BERRY_FIRMNESS_VERY_SOFT   1 +#define BERRY_FIRMNESS_SOFT        2 +#define BERRY_FIRMNESS_HARD        3 +#define BERRY_FIRMNESS_VERY_HARD   4 +#define BERRY_FIRMNESS_SUPER_HARD  5 + +#define FLAVOR_SPICY   0 +#define FLAVOR_DRY     1 +#define FLAVOR_SWEET   2 +#define FLAVOR_BITTER  3 +#define FLAVOR_SOUR    4 +#define FLAVOR_COUNT   5 + +#define BERRY_STAGE_NO_BERRY    0  // there is no tree planted and the soil is completely flat. +#define BERRY_STAGE_PLANTED     1 +#define BERRY_STAGE_SPROUTED    2 +#define BERRY_STAGE_TALLER      3 +#define BERRY_STAGE_FLOWERING   4 +#define BERRY_STAGE_BERRIES     5 +#define BERRY_STAGE_SPARKLING   255 + +#endif // GUARD_CONSTANTS_BERRY_H diff --git a/include/constants/cable_club.h b/include/constants/cable_club.h new file mode 100644 index 000000000..f2aa4120c --- /dev/null +++ b/include/constants/cable_club.h @@ -0,0 +1,15 @@ +#ifndef GUARD_CONSTANTS_CABLE_CLUB_H +#define GUARD_CONSTANTS_CABLE_CLUB_H + +// States for VAR_CABLE_CLUB_STATE +#define USING_SINGLE_BATTLE  1 +#define USING_DOUBLE_BATTLE  2 +#define USING_TRADE_CENTER   3 +#define USING_RECORD_CORNER  4 +#define USING_MULTI_BATTLE   5 +#define USING_UNION_ROOM     6 +#define USING_BERRY_CRUSH    7 +#define USING_MINIGAME       8 +#define USING_BATTLE_TOWER   9 + +#endif //GUARD_CONSTANTS_CABLE_CLUB_H diff --git a/include/constants/coins.h b/include/constants/coins.h new file mode 100644 index 000000000..fd68f3f9e --- /dev/null +++ b/include/constants/coins.h @@ -0,0 +1,6 @@ +#ifndef GUARD_CONSTANTS_COINS_H +#define GUARD_CONSTANTS_COINS_H + +#define MAX_COINS 9999 + +#endif // GUARD_CONSTANTS_COINS_H
\ No newline at end of file diff --git a/include/constants/contest.h b/include/constants/contest.h index d3296222b..186c56e2b 100644 --- a/include/constants/contest.h +++ b/include/constants/contest.h @@ -9,6 +9,19 @@  #define LINK_CONTEST_FLAG_IS_WIRELESS   (1 << 1)  #define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2) +#define CONTEST_RANK_NORMAL  0 +#define CONTEST_RANK_SUPER   1 +#define CONTEST_RANK_HYPER   2 +#define CONTEST_RANK_MASTER  3 +#define CONTEST_RANK_LINK    4 + +// States for VAR_CONTEST_TYPE +#define CONTEST_TYPE_NPC_NORMAL  (CONTEST_RANK_NORMAL + 1) +#define CONTEST_TYPE_NPC_SUPER   (CONTEST_RANK_SUPER + 1) +#define CONTEST_TYPE_NPC_HYPER   (CONTEST_RANK_HYPER + 1) +#define CONTEST_TYPE_NPC_MASTER  (CONTEST_RANK_MASTER + 1) +#define CONTEST_TYPE_LINK        (CONTEST_RANK_LINK + 1) +  #define CONTEST_CATEGORY_COOL     0  #define CONTEST_CATEGORY_BEAUTY   1  #define CONTEST_CATEGORY_CUTE     2 @@ -16,4 +29,10 @@  #define CONTEST_CATEGORY_TOUGH    4  #define CONTEST_CATEGORIES_COUNT  5 +#define CANT_ENTER_CONTEST             0 +#define CAN_ENTER_CONTEST_EQUAL_RANK   1 +#define CAN_ENTER_CONTEST_HIGH_RANK    2 +#define CANT_ENTER_CONTEST_EGG         3 +#define CANT_ENTER_CONTEST_FAINTED     4 +  #endif  // GUARD_CONSTANTS_CONTEST_H diff --git a/include/constants/daycare.h b/include/constants/daycare.h new file mode 100644 index 000000000..103f920f2 --- /dev/null +++ b/include/constants/daycare.h @@ -0,0 +1,27 @@ +#ifndef GUARD_DAYCARE_CONSTANTS_H +#define GUARD_DAYCARE_CONSTANTS_H + +// Parent compatability scores +#define PARENTS_INCOMPATIBLE       0 +#define PARENTS_LOW_COMPATIBILITY  20 +#define PARENTS_MED_COMPATABILITY  50 +#define PARENTS_MAX_COMPATABILITY  70 + +// Daycare state +#define DAYCARE_NO_MONS     0 +#define DAYCARE_EGG_WAITING 1 +#define DAYCARE_ONE_MON     2 +#define DAYCARE_TWO_MONS    3 + +#define INHERITED_IV_COUNT 3 +#define EGG_HATCH_LEVEL 5 +#define EGG_GENDER_MALE 0x8000  // used to create a male egg from a female-only parent species (e.g. Nidoran) + +#define DAYCARE_LEVEL_MENU_EXIT 5 +#define DAYCARE_EXITED_LEVEL_MENU 2 // would be redundant with above if GF had used the same value + +// Array buffers +#define EGG_MOVES_ARRAY_COUNT           10 +#define EGG_LVL_UP_MOVES_ARRAY_COUNT    50 + +#endif //GUARD_DAYCARE_CONSTANTS_H diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h index 50f5994f4..8e82cfef0 100644 --- a/include/constants/easy_chat.h +++ b/include/constants/easy_chat.h @@ -1095,6 +1095,15 @@  #define EC_WORD_OLD            (EC_GROUP_TRENDY_SAYING << 9) | 0x1e  #define EC_WORD_YOUNG          (EC_GROUP_TRENDY_SAYING << 9) | 0x1f  #define EC_WORD_UGLY           (EC_GROUP_TRENDY_SAYING << 9) | 0x20 +#define NUM_ADDITIONAL_PHRASES  33 + +// Special Berry Masters Wife phrases +#define NOT_SPECIAL_PHRASE          0 +#define PHRASE_GREAT_BATTLE         1 +#define PHRASE_CHALLENGE_CONTEST    2 +#define PHRASE_OVERWHELMING_LATIAS  3 +#define PHRASE_COOL_LATIOS          4 +#define PHRASE_SUPER_HUSTLE         5  #define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon)  #define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon) diff --git a/include/constants/event_object_movement_constants.h b/include/constants/event_object_movement_constants.h index b1f9b4cb5..ed6f6c7fb 100755 --- a/include/constants/event_object_movement_constants.h +++ b/include/constants/event_object_movement_constants.h @@ -179,8 +179,8 @@  #define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY            0x5D  #define MOVEMENT_ACTION_INIT_AFFINE_ANIM                0x5E  #define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM               0x5F -#define MOVEMENT_ACTION_UNKNOWN1                        0x60 -#define MOVEMENT_ACTION_UNKNOWN2                        0x61 +#define MOVEMENT_ACTION_HIDE_REFLECTION                 0x60 +#define MOVEMENT_ACTION_SHOW_REFLECTION                 0x61  #define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE          0x62  #define MOVEMENT_ACTION_WALK_DOWN_AFFINE                0x63  #define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN          0x64 diff --git a/include/constants/field_poison.h b/include/constants/field_poison.h new file mode 100644 index 000000000..19b91e7c2 --- /dev/null +++ b/include/constants/field_poison.h @@ -0,0 +1,12 @@ +#ifndef GUARD_CONSTANTS_FIELD_POISON_H +#define GUARD_CONSTANTS_FIELD_POISON_H + +#define FLDPSN_NONE  0 +#define FLDPSN_PSN   1 +#define FLDPSN_FNT   2 + +#define FLDPSN_NO_WHITEOUT        0 +#define FLDPSN_WHITEOUT           1 +#define FLDPSN_FRONTIER_WHITEOUT  2 + +#endif //GUARD_CONSTANTS_FIELD_POISON_H diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h new file mode 100644 index 000000000..a2dc117e4 --- /dev/null +++ b/include/constants/field_specials.h @@ -0,0 +1,78 @@ +#ifndef GUARD_CONSTANTS_FIELD_SPECIALS_H +#define GUARD_CONSTANTS_FIELD_SPECIALS_H + +// PC Locations +#define PC_LOCATION_OTHER           0 +#define PC_LOCATION_BRENDANS_HOUSE  1 +#define PC_LOCATION_MAYS_HOUSE      2 + +// SS Tidal Locations +#define SS_TIDAL_LOCATION_CURRENTS  0 +#define SS_TIDAL_LOCATION_SLATEPORT 1 +#define SS_TIDAL_LOCATION_LILYCOVE  2 +#define SS_TIDAL_LOCATION_ROUTE124  3 +#define SS_TIDAL_LOCATION_ROUTE131  4 + +#define SS_TIDAL_BOARD_SLATEPORT     1 +#define SS_TIDAL_DEPART_SLATEPORT    2 +#define SS_TIDAL_HALFWAY_LILYCOVE    3 +#define SS_TIDAL_LAND_LILYCOVE       4 +#define SS_TIDAL_BOARD_LILYCOVE      5 +#define SS_TIDAL_DEPART_LILYCOVE     6 +#define SS_TIDAL_HALFWAY_SLATEPORT   7 +#define SS_TIDAL_LAND_SLATEPORT      8 +#define SS_TIDAL_EXIT_CURRENTS_RIGHT 9 +#define SS_TIDAL_EXIT_CURRENTS_LEFT  10 + +#define SS_TIDAL_MAX_STEPS 205 + +// Scrollable Multichoice Menus +#define SCROLL_MULTI_NONE                                  0 +#define SCROLL_MULTI_GLASS_WORKSHOP_VENDOR                 1 +#define SCROLL_MULTI_POKEMON_FAN_CLUB_RATER                2 +#define SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1     3 +#define SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2     4 +#define SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR     5 +#define SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR   6 +#define SCROLL_MULTI_BERRY_POWDER_VENDOR                   7 +#define SCROLL_MULTI_BF_RECEPTIONIST                       8 +#define SCROLL_MULTI_BF_MOVE_TUTOR_1                       9 +#define SCROLL_MULTI_BF_MOVE_TUTOR_2                      10 +#define SCROLL_MULTI_SS_TIDAL_DESTINATION                 11 +#define SCROLL_MULTI_BATTLE_TENT_RULES                    12 + +#define MAX_SCROLL_MULTI_ON_SCREEN 6 +#define MAX_SCROLL_MULTI_LENGTH 16 + +// Dept Store Floor Numbers +#define DEPT_STORE_FLOORNUM_B4F       0 +#define DEPT_STORE_FLOORNUM_B3F       1 +#define DEPT_STORE_FLOORNUM_B2F       2 +#define DEPT_STORE_FLOORNUM_B1F       3 +#define DEPT_STORE_FLOORNUM_1F        4 +#define DEPT_STORE_FLOORNUM_2F        5 +#define DEPT_STORE_FLOORNUM_3F        6 +#define DEPT_STORE_FLOORNUM_4F        7 +#define DEPT_STORE_FLOORNUM_5F        8 +#define DEPT_STORE_FLOORNUM_6F        9 +#define DEPT_STORE_FLOORNUM_7F       10 +#define DEPT_STORE_FLOORNUM_8F       11 +#define DEPT_STORE_FLOORNUM_9F       12 +#define DEPT_STORE_FLOORNUM_10F      13 +#define DEPT_STORE_FLOORNUM_11F      14 +#define DEPT_STORE_FLOORNUM_ROOFTOP  15 + +// Lilycove Pokemon Trainer Fan Club +#define NUM_TRAINER_FAN_CLUB_MEMBERS  8 + +#define FANCLUB_GOT_FIRST_FANS 7 +#define FANCLUB_MEMBER1        8 +#define FANCLUB_MEMBER2        9 +#define FANCLUB_MEMBER3        10 +#define FANCLUB_MEMBER4        11 +#define FANCLUB_MEMBER5        12 +#define FANCLUB_MEMBER6        13 +#define FANCLUB_MEMBER7        14 +#define FANCLUB_MEMBER8        15 + +#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H diff --git a/include/constants/field_tasks.h b/include/constants/field_tasks.h new file mode 100644 index 000000000..7f773855d --- /dev/null +++ b/include/constants/field_tasks.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONSTANTS_FIELD_TASKS_H +#define GUARD_CONSTANTS_FIELD_TASKS_H + +#define STEP_CB_DUMMY               0 +#define STEP_CB_ASH                 1 +#define STEP_CB_FORTREE_BRIDGE      2 +#define STEP_CB_PACIFIDLOG_BRIDGE   3 +#define STEP_CB_SOOTOPOLIS_ICE      4 +#define STEP_CB_TRUCK               5 +#define STEP_CB_SECRET_BASE         6 +#define STEP_CB_CRACKED_FLOOR       7 + +#endif // GUARD_CONSTANTS_FIELD_TASKS_H diff --git a/include/constants/field_weather.h b/include/constants/field_weather.h new file mode 100644 index 000000000..e84dbc48c --- /dev/null +++ b/include/constants/field_weather.h @@ -0,0 +1,24 @@ +#ifndef GUARD_CONSTANTS_FIELD_WEATHER_H +#define GUARD_CONSTANTS_FIELD_WEATHER_H + +#define MAX_RAIN_SPRITES             24 +#define NUM_CLOUD_SPRITES            3 +#define NUM_FOG_HORIZONTAL_SPRITES   20 +#define NUM_ASH_SPRITES              20 +#define NUM_FOG_DIAGONAL_SPRITES     20 +#define NUM_SANDSTORM_SPRITES        20 +#define NUM_SWIRL_SANDSTORM_SPRITES  5 + +// Controls how the weather should be changing the screen palettes. +#define WEATHER_PAL_STATE_CHANGING_WEATHER   0 +#define WEATHER_PAL_STATE_SCREEN_FADING_IN   1 +#define WEATHER_PAL_STATE_SCREEN_FADING_OUT  2 +#define WEATHER_PAL_STATE_IDLE               3 + +// Modes for FadeScreen +#define FADE_FROM_BLACK  0 +#define FADE_TO_BLACK    1 +#define FADE_FROM_WHITE  2 +#define FADE_TO_WHITE    3 + +#endif // GUARD_CONSTANTS_FIELD_WEATHER_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 7aa5c3ed3..1163e394f 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1,41 +1,45 @@  #ifndef GUARD_CONSTANTS_FLAGS_H  #define GUARD_CONSTANTS_FLAGS_H +#include "constants/opponents.h" +  // Temporary Flags  // These temporary flags are are cleared every time a map is loaded. They are used  // for things like shortening an NPCs introduction text if the player already spoke  // to them once. -#define FLAG_TEMP_1      0x1 -#define FLAG_TEMP_2      0x2 -#define FLAG_TEMP_3      0x3 -#define FLAG_TEMP_4      0x4 -#define FLAG_TEMP_5      0x5 // Unused Flag -#define FLAG_TEMP_6      0x6 // Unused Flag -#define FLAG_TEMP_7      0x7 // Unused Flag -#define FLAG_TEMP_8      0x8 // Unused Flag -#define FLAG_TEMP_9      0x9 // Unused Flag -#define FLAG_TEMP_A      0xA // Unused Flag -#define FLAG_TEMP_B      0xB // Unused Flag -#define FLAG_TEMP_C      0xC // Unused Flag -#define FLAG_TEMP_D      0xD // Unused Flag -#define FLAG_TEMP_E      0xE // Unused Flag -#define FLAG_TEMP_F      0xF // Unused Flag -#define FLAG_TEMP_10    0x10 // Unused Flag -#define FLAG_TEMP_11    0x11 -#define FLAG_TEMP_12    0x12 -#define FLAG_TEMP_13    0x13 -#define FLAG_TEMP_14    0x14 -#define FLAG_TEMP_15    0x15 -#define FLAG_TEMP_16    0x16 -#define FLAG_TEMP_17    0x17 -#define FLAG_TEMP_18    0x18 -#define FLAG_TEMP_19    0x19 -#define FLAG_TEMP_1A    0x1A -#define FLAG_TEMP_1B    0x1B -#define FLAG_TEMP_1C    0x1C -#define FLAG_TEMP_1D    0x1D -#define FLAG_TEMP_1E    0x1E -#define FLAG_TEMP_1F    0x1F +#define TEMP_FLAGS_START 0x0 +#define FLAG_TEMP_1      (TEMP_FLAGS_START + 0x1) +#define FLAG_TEMP_2      (TEMP_FLAGS_START + 0x2) +#define FLAG_TEMP_3      (TEMP_FLAGS_START + 0x3) +#define FLAG_TEMP_4      (TEMP_FLAGS_START + 0x4) +#define FLAG_TEMP_5      (TEMP_FLAGS_START + 0x5)  // Unused Flag +#define FLAG_TEMP_6      (TEMP_FLAGS_START + 0x6)  // Unused Flag +#define FLAG_TEMP_7      (TEMP_FLAGS_START + 0x7)  // Unused Flag +#define FLAG_TEMP_8      (TEMP_FLAGS_START + 0x8)  // Unused Flag +#define FLAG_TEMP_9      (TEMP_FLAGS_START + 0x9)  // Unused Flag +#define FLAG_TEMP_A      (TEMP_FLAGS_START + 0xA)  // Unused Flag +#define FLAG_TEMP_B      (TEMP_FLAGS_START + 0xB)  // Unused Flag +#define FLAG_TEMP_C      (TEMP_FLAGS_START + 0xC)  // Unused Flag +#define FLAG_TEMP_D      (TEMP_FLAGS_START + 0xD)  // Unused Flag +#define FLAG_TEMP_E      (TEMP_FLAGS_START + 0xE)  // Unused Flag +#define FLAG_TEMP_F      (TEMP_FLAGS_START + 0xF)  // Unused Flag +#define FLAG_TEMP_10     (TEMP_FLAGS_START + 0x10) // Unused Flag +#define FLAG_TEMP_11     (TEMP_FLAGS_START + 0x11) +#define FLAG_TEMP_12     (TEMP_FLAGS_START + 0x12) +#define FLAG_TEMP_13     (TEMP_FLAGS_START + 0x13) +#define FLAG_TEMP_14     (TEMP_FLAGS_START + 0x14) +#define FLAG_TEMP_15     (TEMP_FLAGS_START + 0x15) +#define FLAG_TEMP_16     (TEMP_FLAGS_START + 0x16) +#define FLAG_TEMP_17     (TEMP_FLAGS_START + 0x17) +#define FLAG_TEMP_18     (TEMP_FLAGS_START + 0x18) +#define FLAG_TEMP_19     (TEMP_FLAGS_START + 0x19) +#define FLAG_TEMP_1A     (TEMP_FLAGS_START + 0x1A) +#define FLAG_TEMP_1B     (TEMP_FLAGS_START + 0x1B) +#define FLAG_TEMP_1C     (TEMP_FLAGS_START + 0x1C) +#define FLAG_TEMP_1D     (TEMP_FLAGS_START + 0x1D) +#define FLAG_TEMP_1E     (TEMP_FLAGS_START + 0x1E) +#define FLAG_TEMP_1F     (TEMP_FLAGS_START + 0x1F) +#define TEMP_FLAGS_END   FLAG_TEMP_1F  #define FLAG_UNUSED_0x020    0x20 // Unused Flag  #define FLAG_UNUSED_0x021    0x21 // Unused Flag @@ -87,7 +91,7 @@  #define FLAG_UNUSED_0x04F    0x4F // Unused Flag  // Scripts -#define FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT    0x50 +#define FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT  0x50  #define FLAG_SET_WALL_CLOCK                  0x51  #define FLAG_RESCUED_BIRCH                   0x52  #define FLAG_LEGENDARIES_IN_SOOTOPOLIS       0x53 @@ -95,7 +99,7 @@  #define FLAG_UNUSED_0x054                    0x54  // Unused Flag  #define FLAG_UNUSED_0x055                    0x55  // Unused Flag -#define FLAG_LINK_CONTEST_POKE_BALL          0x56 +#define FLAG_HIDE_CONTEST_POKE_BALL          0x56  // Always set after new game, object it hides is added directly  #define FLAG_MET_RIVAL_MOM                   0x57  #define FLAG_BIRCH_AIDE_MET                  0x58  #define FLAG_DECLINED_BIKE                   0x59 @@ -109,23 +113,23 @@  #define FLAG_MET_TEAM_AQUA_HARBOR            0x61  #define FLAG_TV_EXPLAINED                    0x62  #define FLAG_MAUVILLE_GYM_BARRIERS_STATE     0x63 -#define FLAG_MOSSDEEP_GYM_SWITCH_1           0x64 -#define FLAG_MOSSDEEP_GYM_SWITCH_2           0x65 -#define FLAG_MOSSDEEP_GYM_SWITCH_3           0x66 -#define FLAG_MOSSDEEP_GYM_SWITCH_4           0x67 +#define FLAG_MOSSDEEP_GYM_SWITCH_1           0x64 // Leftover from the RS version of Mossdeep Gym, functionally unused +#define FLAG_MOSSDEEP_GYM_SWITCH_2           0x65 // +#define FLAG_MOSSDEEP_GYM_SWITCH_3           0x66 // +#define FLAG_MOSSDEEP_GYM_SWITCH_4           0x67 //  #define FLAG_UNUSED_0x068                    0x68  // Unused Flag  #define FLAG_OCEANIC_MUSEUM_MET_REPORTER     0x69  #define FLAG_RECEIVED_HM04                   0x6A  #define FLAG_RECEIVED_HM06                   0x6B -#define FLAG_FLANNERY_GIVES_BADGE_INFO       0x6C +#define FLAG_WHITEOUT_TO_LAVARIDGE           0x6C // Set after defeating Flannery, so the player cant white out from poison before receiving Go Goggles  #define FLAG_RECEIVED_HM05                   0x6D  #define FLAG_RECEIVED_HM02                   0x6E  #define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT  0x6F  #define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE  0x70  #define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x71 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin. -#define FLAG_SCOTT_CALL_NATIONAL_DEX         0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal. +#define FLAG_SCOTT_CALL_BATTLE_FRONTIER      0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal.  #define FLAG_RECEIVED_METEORITE              0x73  #define FLAG_ADVENTURE_STARTED               0x74 // RECEIVED Pokédex.  #define FLAG_DEFEATED_MAGMA_SPACE_CENTER     0x75 // Set when Team Magma is defeated at Mossdeep's Space Center. @@ -146,12 +150,12 @@  #define FLAG_DEFEATED_RIVAL_ROUTE103         0x82  #define FLAG_RECEIVED_DOLL_LANETTE           0x83  #define FLAG_RECEIVED_POTION_OLDALE          0x84 -#define FLAG_MOM_SAYS_GOODBYE                0x85 +#define FLAG_RECEIVED_AMULET_COIN            0x85  #define FLAG_PENDING_DAYCARE_EGG             0x86  #define FLAG_THANKED_FOR_PLAYING_WITH_WALLY  0x87  #define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x88 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally.  #define FLAG_RECEIVED_HM01                   0x89 -#define FLAG_REGISTER_WINONA_POKENAV         0x8A // Set after obtaining registering Winona, and cleared after Scott's call. +#define FLAG_SCOTT_CALL_FORTREE_GYM          0x8A // Triggers call from Scott after defeating Winona  #define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY   0x8B  #define FLAG_RECEIVED_6_SODA_POP             0x8C  #define FLAG_DEFEATED_SEASHORE_HOUSE         0x8D @@ -163,9 +167,7 @@  #define FLAG_MR_BRINEY_SAILING_INTRO         0x93  #define FLAG_DOCK_REJECTED_DEVON_GOODS       0x94  #define FLAG_DELIVERED_DEVON_GOODS           0x95 - -#define FLAG_UNUSED_0x096                    0x96 // Unused Flag - +#define FLAG_RECEIVED_CONTEST_PASS           0x96 // Unused, leftover from R/S  #define FLAG_RECEIVED_CASTFORM               0x97  #define FLAG_RECEIVED_SUPER_ROD              0x98  #define FLAG_RUSTBORO_NPC_TRADE_COMPLETED    0x99 @@ -209,11 +211,11 @@  #define FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F  0xBF  #define FLAG_RECEIVED_SUN_STONE_MOSSDEEP     0xC0  #define FLAG_WALLY_SPEECH                    0xC1 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1   0xC2 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2   0xC3 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3   0xC4 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4   0xC5 -#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5   0xC6 +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1   0xC2 // Leftover from the RS version of Puzzle Room 7, functionally unused +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2   0xC3 // +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3   0xC4 // +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4   0xC5 // +#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5   0xC6 //  #define FLAG_RUSTURF_TUNNEL_OPENED           0xC7  #define FLAG_RECEIVED_RED_SCARF              0xC8  #define FLAG_RECEIVED_BLUE_SCARF             0xC9 @@ -263,7 +265,7 @@  #define FLAG_USED_ROOM_2_KEY                 0xF1  #define FLAG_USED_ROOM_4_KEY                 0xF2  #define FLAG_USED_ROOM_6_KEY                 0xF3 -#define FLAG_MET_PROF_COSMO                  0xF4 +#define FLAG_MET_PROF_COZMO                  0xF4  #define FLAG_RECEIVED_WAILMER_DOLL           0xF5  #define FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104 0xF6  #define FLAG_DEFEATED_SS_TIDAL_TRAINERS      0xF7 @@ -289,7 +291,7 @@  #define FLAG_RECEIVED_REVIVED_FOSSIL_MON     0x10B  #define FLAG_SECRET_BASE_REGISTRY_ENABLED    0x10C  #define FLAG_RECEIVED_TM46                   0x10D -#define FLAG_CONTEST_SKETCH_CREATED          0x10E +#define FLAG_CONTEST_SKETCH_CREATED          0x10E  // Set but never read  #define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE   0x10F  #define FLAG_RECEIVED_EXP_SHARE              0x110  #define FLAG_POKERUS_EXPLAINED               0x111 @@ -332,10 +334,10 @@  #define FLAG_MET_SCOTT_RUSTBORO              0x136  #define FLAG_WALLACE_GOES_TO_SKY_PILLAR      0x137 // Set after speaking to Wallace within the Cave of Origin.  #define FLAG_RECEIVED_HM07                   0x138 -#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS    0x139 // Beat Magma Grunt blocking Magma Hideout entrance. -#define FLAG_RECEIVED_AURORA_TICKET          0x13A // RECEIVED Aurora Ticket in Mystery Gift -#define FLAG_RECEIVED_MYSTIC_TICKET          0x13B // RECEIVED Mystic Ticket in Mystery Gift -#define FLAG_RECEIVED_OLD_SEA_MAP            0x13C // RECEIVED Old Sea Map in Mystery Gift +#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS    0x139 +#define FLAG_RECEIVED_AURORA_TICKET          0x13A +#define FLAG_RECEIVED_MYSTIC_TICKET          0x13B +#define FLAG_RECEIVED_OLD_SEA_MAP            0x13C   #define FLAG_UNUSED_MYSTERY_GIFT_0x13D       0x13D  #define FLAG_UNUSED_MYSTERY_GIFT_0x13E       0x13E  #define FLAG_UNUSED_MYSTERY_GIFT_0x13F       0x13F @@ -355,19 +357,19 @@  #define FLAG_UNUSED_MYSTERY_GIFT_0x14D       0x14D  #define FLAG_MIRAGE_TOWER_VISIBLE            0x14E -#define FLAG_CHOSE_CLAW_FOSSIL               0x14F // Player chose Claw Fossil -#define FLAG_CHOSE_ROOT_FOSSIL               0x150 // Player chose Root Fossil +#define FLAG_CHOSE_ROOT_FOSSIL               0x14F +#define FLAG_CHOSE_CLAW_FOSSIL               0x150  #define FLAG_RECEIVED_POWDER_JAR             0x151  #define FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER 0x152  #define FLAG_MET_BATTLE_FRONTIER_BREEDER     0x153  #define FLAG_MET_BATTLE_FRONTIER_MANIAC      0x154 -#define FLAG_ENTERED_LINK_CONTEST            0x155 +#define FLAG_ENTERED_CONTEST                 0x155  #define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN  0x156 -#define FLAG_MET_BATTLE_FRONTIER_BETTOR      0x157 +#define FLAG_MET_BATTLE_FRONTIER_GAMBLER     0x157  #define FLAG_ENABLE_MR_STONE_POKENAV         0x158 -#define FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD 0x159 +#define FLAG_NURSE_MENTIONS_GOLD_CARD        0x159  #define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR  0x15A  #define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B @@ -493,7 +495,7 @@  #define FLAG_MET_SCOTT_IN_EVERGRANDE         0x1CF  #define FLAG_MET_SCOTT_ON_SS_TIDAL           0x1D0  #define FLAG_SCOTT_GIVES_BATTLE_POINTS       0x1D1 -#define FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT 0x1D2 +#define FLAG_COLLECTED_ALL_GOLD_SYMBOLS      0x1D2  #define FLAG_ENABLE_ROXANNE_MATCH_CALL       0x1D3  #define FLAG_ENABLE_BRAWLY_MATCH_CALL        0x1D4  #define FLAG_ENABLE_WATTSON_MATCH_CALL       0x1D5 @@ -533,8 +535,6 @@  #define FLAG_MYSTERY_EVENT_14                0x1F2  #define FLAG_MYSTERY_EVENT_15                0x1F3 -#define FLAG_TRICK_HOUSE_END_ROOM            0x1F5 // Trick House End Room Flag -  // Hidden Items -- sorted by location  #define FLAG_HIDDEN_ITEMS_START                                                         0x1F4  #define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET                  (FLAG_HIDDEN_ITEMS_START + 0x01) @@ -650,6 +650,95 @@  #define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2             (FLAG_HIDDEN_ITEMS_START + 0x5D)  #define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3             (FLAG_HIDDEN_ITEMS_START + 0x5E) +#define FLAG_UNUSED_0x264  0x264 // Unused Flag +#define FLAG_UNUSED_0x265  0x265 // Unused Flag +#define FLAG_UNUSED_0x266  0x266 // Unused Flag +#define FLAG_UNUSED_0x267  0x267 // Unused Flag +#define FLAG_UNUSED_0x268  0x268 // Unused Flag +#define FLAG_UNUSED_0x269  0x269 // Unused Flag +#define FLAG_UNUSED_0x26A  0x26A // Unused Flag +#define FLAG_UNUSED_0x26B  0x26B // Unused Flag +#define FLAG_UNUSED_0x26C  0x26C // Unused Flag +#define FLAG_UNUSED_0x26D  0x26D // Unused Flag +#define FLAG_UNUSED_0x26E  0x26E // Unused Flag +#define FLAG_UNUSED_0x26F  0x26F // Unused Flag +#define FLAG_UNUSED_0x270  0x270 // Unused Flag +#define FLAG_UNUSED_0x271  0x271 // Unused Flag +#define FLAG_UNUSED_0x272  0x272 // Unused Flag +#define FLAG_UNUSED_0x273  0x273 // Unused Flag +#define FLAG_UNUSED_0x274  0x274 // Unused Flag +#define FLAG_UNUSED_0x275  0x275 // Unused Flag +#define FLAG_UNUSED_0x276  0x276 // Unused Flag +#define FLAG_UNUSED_0x277  0x277 // Unused Flag +#define FLAG_UNUSED_0x278  0x278 // Unused Flag +#define FLAG_UNUSED_0x279  0x279 // Unused Flag +#define FLAG_UNUSED_0x27A  0x27A // Unused Flag +#define FLAG_UNUSED_0x27B  0x27B // Unused Flag +#define FLAG_UNUSED_0x27C  0x27C // Unused Flag +#define FLAG_UNUSED_0x27D  0x27D // Unused Flag +#define FLAG_UNUSED_0x27E  0x27E // Unused Flag +#define FLAG_UNUSED_0x27F  0x27F // Unused Flag +#define FLAG_UNUSED_0x280  0x280 // Unused Flag +#define FLAG_UNUSED_0x281  0x281 // Unused Flag +#define FLAG_UNUSED_0x282  0x282 // Unused Flag +#define FLAG_UNUSED_0x283  0x283 // Unused Flag +#define FLAG_UNUSED_0x284  0x284 // Unused Flag +#define FLAG_UNUSED_0x285  0x285 // Unused Flag +#define FLAG_UNUSED_0x286  0x286 // Unused Flag +#define FLAG_UNUSED_0x287  0x287 // Unused Flag +#define FLAG_UNUSED_0x288  0x288 // Unused Flag +#define FLAG_UNUSED_0x289  0x289 // Unused Flag +#define FLAG_UNUSED_0x28A  0x28A // Unused Flag +#define FLAG_UNUSED_0x28B  0x28B // Unused Flag +#define FLAG_UNUSED_0x28C  0x28C // Unused Flag +#define FLAG_UNUSED_0x28D  0x28D // Unused Flag +#define FLAG_UNUSED_0x28E  0x28E // Unused Flag +#define FLAG_UNUSED_0x28F  0x28F // Unused Flag +#define FLAG_UNUSED_0x290  0x290 // Unused Flag +#define FLAG_UNUSED_0x291  0x291 // Unused Flag +#define FLAG_UNUSED_0x292  0x292 // Unused Flag +#define FLAG_UNUSED_0x293  0x293 // Unused Flag +#define FLAG_UNUSED_0x294  0x294 // Unused Flag +#define FLAG_UNUSED_0x295  0x295 // Unused Flag +#define FLAG_UNUSED_0x296  0x296 // Unused Flag +#define FLAG_UNUSED_0x297  0x297 // Unused Flag +#define FLAG_UNUSED_0x298  0x298 // Unused Flag +#define FLAG_UNUSED_0x299  0x299 // Unused Flag +#define FLAG_UNUSED_0x29A  0x29A // Unused Flag +#define FLAG_UNUSED_0x29B  0x29B // Unused Flag +#define FLAG_UNUSED_0x29C  0x29C // Unused Flag +#define FLAG_UNUSED_0x29D  0x29D // Unused Flag +#define FLAG_UNUSED_0x29E  0x29E // Unused Flag +#define FLAG_UNUSED_0x29F  0x29F // Unused Flag +#define FLAG_UNUSED_0x2A0  0x2A0 // Unused Flag +#define FLAG_UNUSED_0x2A1  0x2A1 // Unused Flag +#define FLAG_UNUSED_0x2A2  0x2A2 // Unused Flag +#define FLAG_UNUSED_0x2A3  0x2A3 // Unused Flag +#define FLAG_UNUSED_0x2A4  0x2A4 // Unused Flag +#define FLAG_UNUSED_0x2A5  0x2A5 // Unused Flag +#define FLAG_UNUSED_0x2A6  0x2A6 // Unused Flag +#define FLAG_UNUSED_0x2A7  0x2A7 // Unused Flag +#define FLAG_UNUSED_0x2A8  0x2A8 // Unused Flag +#define FLAG_UNUSED_0x2A9  0x2A9 // Unused Flag +#define FLAG_UNUSED_0x2AA  0x2AA // Unused Flag +#define FLAG_UNUSED_0x2AB  0x2AB // Unused Flag +#define FLAG_UNUSED_0x2AC  0x2AC // Unused Flag +#define FLAG_UNUSED_0x2AD  0x2AD // Unused Flag +#define FLAG_UNUSED_0x2AE  0x2AE // Unused Flag +#define FLAG_UNUSED_0x2AF  0x2AF // Unused Flag +#define FLAG_UNUSED_0x2B0  0x2B0 // Unused Flag +#define FLAG_UNUSED_0x2B1  0x2B1 // Unused Flag +#define FLAG_UNUSED_0x2B2  0x2B2 // Unused Flag +#define FLAG_UNUSED_0x2B3  0x2B3 // Unused Flag +#define FLAG_UNUSED_0x2B4  0x2B4 // Unused Flag +#define FLAG_UNUSED_0x2B5  0x2B5 // Unused Flag +#define FLAG_UNUSED_0x2B6  0x2B6 // Unused Flag +#define FLAG_UNUSED_0x2B7  0x2B7 // Unused Flag +#define FLAG_UNUSED_0x2B8  0x2B8 // Unused Flag +#define FLAG_UNUSED_0x2B9  0x2B9 // Unused Flag +#define FLAG_UNUSED_0x2BA  0x2BA // Unused Flag +#define FLAG_UNUSED_0x2BB  0x2BB // Unused Flag +  // Event Flags  #define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG                      0x2BC  #define FLAG_HIDE_APPRENTICE                                        0x2BD @@ -690,18 +779,18 @@  #define FLAG_HIDE_PLAYERS_HOUSE_DAD                                 0x2DE  #define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING      0x2DF  #define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING          0x2E0 -#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY    0x2E1 +#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE             0x2E1  #define FLAG_HIDE_ROUTE_104_MR_BRINEY                               0x2E2  #define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY                           0x2E3  #define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN                            0x2E4 -#define FLAG_HIDE_ROUTE_108_MR_BRINEY                               0x2E5 +#define FLAG_HIDE_ROUTE_109_MR_BRINEY                               0x2E5  #define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT                          0x2E6  #define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN                       0x2E7  #define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT                          0x2E8  #define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN            0x2E9 -#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN                0x2EA +#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY                    0x2EA  #define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION                  0x2EB -#define FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER                  0x2EC +#define FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER                0x2EC  #define FLAG_HIDE_SLATEPORT_CITY_SCOTT                              0x2ED  #define FLAG_HIDE_ROUTE_101_ZIGZAGOON                               0x2EE  #define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY                           0x2EF @@ -720,7 +809,7 @@  #define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE                      0x2FC  #define FLAG_HIDE_MAUVILLE_CITY_SCOTT                               0x2FD  #define FLAG_HIDE_VERDANTURF_TOWN_SCOTT                             0x2FE -#define FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT                  0x2FF +#define FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT                  0x2FF  #define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE                        0x300  #define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE                      0x301  #define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE                          0x302 @@ -760,14 +849,14 @@  #define FLAG_HIDE_MAUVILLE_CITY_WALLY                               0x324  #define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE                        0x325  #define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY                0x326 -#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN                          0x327 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN            0x328 +#define FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND                   0x327 +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND     0x328  #define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE         0x329  #define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT                           0x32A  #define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL     0x32B  #define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE      0x32C  #define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN                     0x32D -#define FLAG_HIDE_RUSBORO_CITY_RIVAL                                0x32E +#define FLAG_HIDE_RUSTBORO_CITY_RIVAL                               0x32E  #define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL     0x32F  #define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE                           0x330  #define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL       0x331 @@ -778,16 +867,14 @@  #define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE         0x336  #define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA                          0x337  #define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE                        0x338 - -#define FLAG_UNUSED_0x339                                           0x339 // Unused Flag - +#define FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN                         0x339 // Unused, leftover from R/S  #define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE                            0x33A  #define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE                             0x33B  #define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE                     0x33C  #define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE                      0x33D  #define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE                       0x33E  #define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS               0x33F -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS      0x340 +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER                0x340  #define FLAG_HIDE_GRANITE_CAVE_STEVEN                               0x341  #define FLAG_HIDE_ROUTE_128_STEVEN                                  0x342  #define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY                       0x343 @@ -828,13 +915,13 @@  #define FLAG_HIDE_LANETTES_HOUSE_LANETTE                            0x366  #define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE                  0x367  #define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN                          0x368 -#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT            0x369 +#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT    0x369  #define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL                           0x36A  #define FLAG_HIDE_ROUTE_111_PLAYER_DESCENT                          0x36B  #define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL                           0x36C  #define FLAG_HIDE_MT_CHIMNEY_TRAINERS                               0x36D  #define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT                         0x36E -#define FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN                            0x36F +#define FLAG_HIDE_RUSTURF_TUNNEL_BRINEY                             0x36F  #define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO                              0x370  #define FLAG_HIDE_BRINEYS_HOUSE_PEEKO                               0x371  #define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA                          0x372 @@ -849,7 +936,7 @@  #define FLAG_HIDE_ROUTE_116_MR_BRINEY                               0x37B  #define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS                      0x37C  #define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS                      0x37D -#define FLAG_HIDE_ROUTE_116_TUNNELER                                0x37E +#define FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND                        0x37E  #define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2         0x37F  #define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380          0x380  #define FLAG_HIDE_ROUTE_101_BIRCH                                   0x381 @@ -883,9 +970,9 @@  #define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS                      0x39D  #define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA                              0x39E  #define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA                             0x39F -#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO                      0x3A0 -#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1                            0x3A1 -#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2                            0x3A2 +#define FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO                        0x3A0 +#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL                              0x3A1 +#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE                      0x3A2  #define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1                             0x3A3  #define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2                             0x3A4  #define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL                      0x3A5 @@ -925,7 +1012,7 @@  #define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN                0x3C7  #define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL       0x3C8  #define FLAG_HIDE_FORTREE_CITY_KECLEON                              0x3C9 -#define FLAG_HIDE_ROUTE_120_KECLEON_1                               0x3CA +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE                0x3CA  #define FLAG_HIDE_LILYCOVE_CITY_RIVAL                               0x3CB  #define FLAG_HIDE_ROUTE_120_STEVEN                                  0x3CC  #define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN                            0x3CD @@ -936,19 +1023,19 @@  #define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2                      0x3D2  #define FLAG_HIDE_OLDALE_TOWN_RIVAL                                 0x3D3  #define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE      0x3D4 -#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE                          0x3D5 -#define FLAG_HIDE_ROUTE_120_KECLEON_2                               0x3D6 -#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN                        0x3D7 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN          0x3D8 -#define FLAG_HIDE_ROUTE_120_KECLEON_3                               0x3D9 -#define FLAG_HIDE_ROUTE_120_KECLEON_4                               0x3DA -#define FLAG_HIDE_ROUTE_120_KECLEON_5                               0x3DB -#define FLAG_HIDE_ROUTE_120_KECLEON_6                               0x3DC +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE                  0x3D5 +#define FLAG_HIDE_ROUTE_120_KECLEON_1                               0x3D6 +#define FLAG_HIDE_RUSTURF_TUNNEL_WANDA                              0x3D7 +#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA                0x3D8 +#define FLAG_HIDE_ROUTE_120_KECLEON_2                               0x3D9 +#define FLAG_HIDE_ROUTE_120_KECLEON_3                               0x3DA +#define FLAG_HIDE_ROUTE_120_KECLEON_4                               0x3DB +#define FLAG_HIDE_ROUTE_120_KECLEON_5                               0x3DC  #define FLAG_HIDE_ROUTE_119_KECLEON_1                               0x3DD  #define FLAG_HIDE_ROUTE_119_KECLEON_2                               0x3DE  #define FLAG_HIDE_ROUTE_101_BOY                                     0x3DF  #define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M                 0x3E0 -#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY                      0x3E1 +#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON          0x3E1  #define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY                       0x3E2  #define FLAG_HIDE_PETALBURG_CITY_SCOTT                              0x3E3  #define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA                          0x3E4 @@ -1255,13 +1342,17 @@  #define FLAG_UNUSED_0x4FF                                           0x4FF // Unused Flag -#define FLAG_TRAINER_FLAG_START                                     0x500 -#define TRAINERS_FLAG_NO                                            0x356 +// Trainer Flags +// Trainer flags occupy 0x500 - 0x85F, the last 9 of which are unused +// See constants/opponents.h. The values there + FLAG_TRAINER_FLAG_START are the flag IDs -#define SYSTEM_FLAGS   (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 +#define TRAINER_FLAGS_START                                         0x500 +#define TRAINER_FLAGS_END                                           (TRAINER_FLAGS_START + MAX_TRAINERS_COUNT - 1) // 0x85F  // System Flags +#define SYSTEM_FLAGS                                   (TRAINER_FLAGS_END + 1) // 0x860 +  #define FLAG_SYS_POKEMON_GET                           (SYSTEM_FLAGS + 0) // FLAG_0x860  #define FLAG_SYS_POKEDEX_GET                           (SYSTEM_FLAGS + 1)  #define FLAG_SYS_POKENAV_GET                           (SYSTEM_FLAGS + 2) @@ -1400,7 +1491,7 @@  #define FLAG_ENABLE_SHIP_BIRTH_ISLAND               (SYSTEM_FLAGS + 0x75)  #define FLAG_ENABLE_SHIP_FARAWAY_ISLAND             (SYSTEM_FLAGS + 0x76) -#define FLAG_SYS_STORAGE_UNKNOWN_FLAG               (SYSTEM_FLAGS + 0x77) +#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE             (SYSTEM_FLAGS + 0x77)  #define FLAG_ARRIVED_ON_FARAWAY_ISLAND              (SYSTEM_FLAGS + 0x78)  #define FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT     (SYSTEM_FLAGS + 0x79) @@ -1481,77 +1572,82 @@  #define FLAG_UNUSED_0x91F                           (SYSTEM_FLAGS + 0xBF) // Unused Flag  // Daily Flags -#define FLAG_DAILY_0x920                            (SYSTEM_FLAGS + 0xC0) -#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY     (SYSTEM_FLAGS + 0xC1) -#define FLAG_DAILY_SECRET_BASE                      (SYSTEM_FLAGS + 0xC2) -#define FLAG_DAILY_0x923                            (SYSTEM_FLAGS + 0xC3) -#define FLAG_DAILY_0x924                            (SYSTEM_FLAGS + 0xC4) -#define FLAG_DAILY_0x925                            (SYSTEM_FLAGS + 0xC5) -#define FLAG_DAILY_0x926                            (SYSTEM_FLAGS + 0xC6) -#define FLAG_DAILY_0x927                            (SYSTEM_FLAGS + 0xC7) -#define FLAG_DAILY_0x928                            (SYSTEM_FLAGS + 0xC8) -#define FLAG_DAILY_0x929                            (SYSTEM_FLAGS + 0xC9) -#define FLAG_DAILY_PICKED_LOTO_TICKET               (SYSTEM_FLAGS + 0xCA) -#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY         (SYSTEM_FLAGS + 0xCB) -#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY         (SYSTEM_FLAGS + 0xCC) -#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY      (SYSTEM_FLAGS + 0xCD) -#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY         (SYSTEM_FLAGS + 0xCE) -#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY          (SYSTEM_FLAGS + 0xCF) -#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY       (SYSTEM_FLAGS + 0xD0) -#define FLAG_DAILY_BERRY_MASTERS_WIFE               (SYSTEM_FLAGS + 0xD1) -#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY        (SYSTEM_FLAGS + 0xD2) -#define FLAG_DAILY_0x933                            (SYSTEM_FLAGS + 0xD3) -#define FLAG_DAILY_APPRENTICE_LEAVES                (SYSTEM_FLAGS + 0xD4) -#define FLAG_0x935                                  (SYSTEM_FLAGS + 0xD5) -#define FLAG_0x936                                  (SYSTEM_FLAGS + 0xD6) -#define FLAG_0x937                                  (SYSTEM_FLAGS + 0xD7) -#define FLAG_0x938                                  (SYSTEM_FLAGS + 0xD8) -#define FLAG_0x939                                  (SYSTEM_FLAGS + 0xD9) -#define FLAG_0x93A                                  (SYSTEM_FLAGS + 0xDA) -#define FLAG_0x93B                                  (SYSTEM_FLAGS + 0xDB) -#define FLAG_0x93C                                  (SYSTEM_FLAGS + 0xDC) -#define FLAG_0x93D                                  (SYSTEM_FLAGS + 0xDD) -#define FLAG_0x93E                                  (SYSTEM_FLAGS + 0xDE) -#define FLAG_0x93F                                  (SYSTEM_FLAGS + 0xDF) -#define FLAG_0x940                                  (SYSTEM_FLAGS + 0xE0) -#define FLAG_0x941                                  (SYSTEM_FLAGS + 0xE1) -#define FLAG_0x942                                  (SYSTEM_FLAGS + 0xE2) -#define FLAG_0x943                                  (SYSTEM_FLAGS + 0xE3) -#define FLAG_0x944                                  (SYSTEM_FLAGS + 0xE4) -#define FLAG_0x945                                  (SYSTEM_FLAGS + 0xE5) -#define FLAG_0x946                                  (SYSTEM_FLAGS + 0xE6) -#define FLAG_0x947                                  (SYSTEM_FLAGS + 0xE7) -#define FLAG_0x948                                  (SYSTEM_FLAGS + 0xE8) -#define FLAG_0x949                                  (SYSTEM_FLAGS + 0xE9) -#define FLAG_0x94A                                  (SYSTEM_FLAGS + 0xEA) -#define FLAG_0x94B                                  (SYSTEM_FLAGS + 0xEB) -#define FLAG_0x94C                                  (SYSTEM_FLAGS + 0xEC) -#define FLAG_0x94D                                  (SYSTEM_FLAGS + 0xED) -#define FLAG_0x94E                                  (SYSTEM_FLAGS + 0xEE) -#define FLAG_0x94F                                  (SYSTEM_FLAGS + 0xEF) -#define FLAG_0x950                                  (SYSTEM_FLAGS + 0xF0) -#define FLAG_0x951                                  (SYSTEM_FLAGS + 0xF1) -#define FLAG_0x952                                  (SYSTEM_FLAGS + 0xF2) -#define FLAG_0x953                                  (SYSTEM_FLAGS + 0xF3) -#define FLAG_0x954                                  (SYSTEM_FLAGS + 0xF4) -#define FLAG_0x955                                  (SYSTEM_FLAGS + 0xF5) -#define FLAG_0x956                                  (SYSTEM_FLAGS + 0xF6) -#define FLAG_0x957                                  (SYSTEM_FLAGS + 0xF7) -#define FLAG_0x958                                  (SYSTEM_FLAGS + 0xF8) -#define FLAG_0x959                                  (SYSTEM_FLAGS + 0xF9) -#define FLAG_0x95A                                  (SYSTEM_FLAGS + 0xFA) -#define FLAG_0x95B                                  (SYSTEM_FLAGS + 0xFB) -#define FLAG_0x95C                                  (SYSTEM_FLAGS + 0xFC) -#define FLAG_0x95D                                  (SYSTEM_FLAGS + 0xFD) -#define FLAG_0x95E                                  (SYSTEM_FLAGS + 0xFE) -#define FLAG_0x95F                                  (SYSTEM_FLAGS + 0xFF) - -// Special Flags (Unknown) -#define SPECIAL_FLAGS_START                                        0x4000 -#define FLAG_HIDE_MAP_NAME_POPUP                                   0x4000 -#define FLAG_SPECIAL_FLAG_0x4001                                   0x4001 -#define FLAG_SPECIAL_FLAG_0x4002                                   0x4002 -#define FLAG_SPECIAL_FLAG_0x4003                                   0x4003 -#define FLAG_SPECIAL_FLAG_0x4004                                   0x4004 +#define DAILY_FLAGS_START                           0x920 +#define FLAG_UNUSED_0x920                           (DAILY_FLAGS_START + 0x0)  // Unused Flag +#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY     (DAILY_FLAGS_START + 0x1) +#define FLAG_DAILY_SECRET_BASE                      (DAILY_FLAGS_START + 0x2) +#define FLAG_UNUSED_0x923                           (DAILY_FLAGS_START + 0x3)  // Unused Flag +#define FLAG_UNUSED_0x924                           (DAILY_FLAGS_START + 0x4)  // Unused Flag +#define FLAG_UNUSED_0x925                           (DAILY_FLAGS_START + 0x5)  // Unused Flag +#define FLAG_UNUSED_0x926                           (DAILY_FLAGS_START + 0x6)  // Unused Flag +#define FLAG_UNUSED_0x927                           (DAILY_FLAGS_START + 0x7)  // Unused Flag +#define FLAG_UNUSED_0x928                           (DAILY_FLAGS_START + 0x8)  // Unused Flag +#define FLAG_UNUSED_0x929                           (DAILY_FLAGS_START + 0x9)  // Unused Flag +#define FLAG_DAILY_PICKED_LOTO_TICKET               (DAILY_FLAGS_START + 0xA) +#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY         (DAILY_FLAGS_START + 0xB) +#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY         (DAILY_FLAGS_START + 0xC) +#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY      (DAILY_FLAGS_START + 0xD) +#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY         (DAILY_FLAGS_START + 0xE) +#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY          (DAILY_FLAGS_START + 0xF) +#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY       (DAILY_FLAGS_START + 0x10) +#define FLAG_DAILY_BERRY_MASTERS_WIFE               (DAILY_FLAGS_START + 0x11) +#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY        (DAILY_FLAGS_START + 0x12) +#define FLAG_UNUSED_0x933                           (DAILY_FLAGS_START + 0x13) // Unused Flag +#define FLAG_DAILY_APPRENTICE_LEAVES                (DAILY_FLAGS_START + 0x14) + +#define FLAG_UNUSED_0x935                           (DAILY_FLAGS_START + 0x15) // Unused Flag +#define FLAG_UNUSED_0x936                           (DAILY_FLAGS_START + 0x16) // Unused Flag +#define FLAG_UNUSED_0x937                           (DAILY_FLAGS_START + 0x17) // Unused Flag +#define FLAG_UNUSED_0x938                           (DAILY_FLAGS_START + 0x18) // Unused Flag +#define FLAG_UNUSED_0x939                           (DAILY_FLAGS_START + 0x19) // Unused Flag +#define FLAG_UNUSED_0x93A                           (DAILY_FLAGS_START + 0x1A) // Unused Flag +#define FLAG_UNUSED_0x93B                           (DAILY_FLAGS_START + 0x1B) // Unused Flag +#define FLAG_UNUSED_0x93C                           (DAILY_FLAGS_START + 0x1C) // Unused Flag +#define FLAG_UNUSED_0x93D                           (DAILY_FLAGS_START + 0x1D) // Unused Flag +#define FLAG_UNUSED_0x93E                           (DAILY_FLAGS_START + 0x1E) // Unused Flag +#define FLAG_UNUSED_0x93F                           (DAILY_FLAGS_START + 0x1F) // Unused Flag +#define FLAG_UNUSED_0x940                           (DAILY_FLAGS_START + 0x20) // Unused Flag +#define FLAG_UNUSED_0x941                           (DAILY_FLAGS_START + 0x21) // Unused Flag +#define FLAG_UNUSED_0x942                           (DAILY_FLAGS_START + 0x22) // Unused Flag +#define FLAG_UNUSED_0x943                           (DAILY_FLAGS_START + 0x23) // Unused Flag +#define FLAG_UNUSED_0x944                           (DAILY_FLAGS_START + 0x24) // Unused Flag +#define FLAG_UNUSED_0x945                           (DAILY_FLAGS_START + 0x25) // Unused Flag +#define FLAG_UNUSED_0x946                           (DAILY_FLAGS_START + 0x26) // Unused Flag +#define FLAG_UNUSED_0x947                           (DAILY_FLAGS_START + 0x27) // Unused Flag +#define FLAG_UNUSED_0x948                           (DAILY_FLAGS_START + 0x28) // Unused Flag +#define FLAG_UNUSED_0x949                           (DAILY_FLAGS_START + 0x29) // Unused Flag +#define FLAG_UNUSED_0x94A                           (DAILY_FLAGS_START + 0x2A) // Unused Flag +#define FLAG_UNUSED_0x94B                           (DAILY_FLAGS_START + 0x2B) // Unused Flag +#define FLAG_UNUSED_0x94C                           (DAILY_FLAGS_START + 0x2C) // Unused Flag +#define FLAG_UNUSED_0x94D                           (DAILY_FLAGS_START + 0x2D) // Unused Flag +#define FLAG_UNUSED_0x94E                           (DAILY_FLAGS_START + 0x2E) // Unused Flag +#define FLAG_UNUSED_0x94F                           (DAILY_FLAGS_START + 0x2F) // Unused Flag +#define FLAG_UNUSED_0x950                           (DAILY_FLAGS_START + 0x30) // Unused Flag +#define FLAG_UNUSED_0x951                           (DAILY_FLAGS_START + 0x31) // Unused Flag +#define FLAG_UNUSED_0x952                           (DAILY_FLAGS_START + 0x32) // Unused Flag +#define FLAG_UNUSED_0x953                           (DAILY_FLAGS_START + 0x33) // Unused Flag +#define FLAG_UNUSED_0x954                           (DAILY_FLAGS_START + 0x34) // Unused Flag +#define FLAG_UNUSED_0x955                           (DAILY_FLAGS_START + 0x35) // Unused Flag +#define FLAG_UNUSED_0x956                           (DAILY_FLAGS_START + 0x36) // Unused Flag +#define FLAG_UNUSED_0x957                           (DAILY_FLAGS_START + 0x37) // Unused Flag +#define FLAG_UNUSED_0x958                           (DAILY_FLAGS_START + 0x38) // Unused Flag +#define FLAG_UNUSED_0x959                           (DAILY_FLAGS_START + 0x39) // Unused Flag +#define FLAG_UNUSED_0x95A                           (DAILY_FLAGS_START + 0x3A) // Unused Flag +#define FLAG_UNUSED_0x95B                           (DAILY_FLAGS_START + 0x3B) // Unused Flag +#define FLAG_UNUSED_0x95C                           (DAILY_FLAGS_START + 0x3C) // Unused Flag +#define FLAG_UNUSED_0x95D                           (DAILY_FLAGS_START + 0x3D) // Unused Flag +#define FLAG_UNUSED_0x95E                           (DAILY_FLAGS_START + 0x3E) // Unused Flag +#define FLAG_UNUSED_0x95F                           (DAILY_FLAGS_START + 0x3F) // Unused Flag +#define DAILY_FLAGS_END                             FLAG_UNUSED_0x95F + +// Special Flags (Stored in EWRAM (gSpecialFlags), not in the SaveBlock) +#define SPECIAL_FLAGS_START                     0x4000 +#define FLAG_HIDE_MAP_NAME_POPUP                (SPECIAL_FLAGS_START + 0x0) +#define FLAG_DONT_TRANSITION_MUSIC              (SPECIAL_FLAGS_START + 0x1) +#define FLAG_ENABLE_MULTI_CORRIDOR_DOOR         (SPECIAL_FLAGS_START + 0x2) +#define FLAG_SPECIAL_FLAG_UNUSED_0x4003         (SPECIAL_FLAGS_START + 0x3) // Unused Flag +#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG       (SPECIAL_FLAGS_START + 0x4) +// FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused +#define SPECIAL_FLAGS_END                       (SPECIAL_FLAGS_START + 0x7F)  #endif // GUARD_CONSTANTS_FLAGS_H diff --git a/include/constants/frontier_util.h b/include/constants/frontier_util.h new file mode 100644 index 000000000..a310dbb2d --- /dev/null +++ b/include/constants/frontier_util.h @@ -0,0 +1,75 @@ +#ifndef GUARD_CONSTANTS_FRONTIER_UTIL_H +#define GUARD_CONSTANTS_FRONTIER_UTIL_H + +#define FRONTIER_BEFORE_TEXT      0 +#define FRONTIER_PLAYER_LOST_TEXT 1 +#define FRONTIER_PLAYER_WON_TEXT  2 + +// return values for GetFrontierBrainStatus +#define FRONTIER_BRAIN_NOT_READY   0 +#define FRONTIER_BRAIN_SILVER      1 +#define FRONTIER_BRAIN_GOLD        2 +#define FRONTIER_BRAIN_STREAK      3  // for encountering the brain after getting both symbols +#define FRONTIER_BRAIN_STREAK_LONG 4  // + +#define FRONTIER_UTIL_FUNC_GET_STATUS             0 +#define FRONTIER_UTIL_FUNC_GET_DATA               1 +#define FRONTIER_UTIL_FUNC_SET_DATA               2 +#define FRONTIER_UTIL_FUNC_SET_PARTY_ORDER        3 +#define FRONTIER_UTIL_FUNC_SOFT_RESET             4 +#define FRONTIER_UTIL_FUNC_SET_TRAINERS           5 +#define FRONTIER_UTIL_FUNC_SAVE_PARTY             6 +#define FRONTIER_UTIL_FUNC_RESULTS_WINDOW         7 +#define FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW      8 +#define FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS       9 +#define FRONTIER_UTIL_FUNC_IS_BRAIN               10 +#define FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS     11 +#define FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS   12 +#define FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL   13 +#define FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE      14 +#define FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE       15 +#define FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER    16 +#define FRONTIER_UTIL_FUNC_INCREMENT_STREAK       17 +#define FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS     18 +#define FRONTIER_UTIL_FUNC_SAVE_BATTLE            19 +#define FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME    20 +#define FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES     21 +#define FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT       22 + +#define FRONTIER_DATA_CHALLENGE_STATUS   0 +#define FRONTIER_DATA_LVL_MODE           1 +#define FRONTIER_DATA_BATTLE_NUM         2 +#define FRONTIER_DATA_PAUSED             3 +#define FRONTIER_DATA_SELECTED_MON_ORDER 4 +#define FRONTIER_DATA_BATTLE_OUTCOME     5 +#define FRONTIER_DATA_RECORD_DISABLED    6 +#define FRONTIER_DATA_HEARD_BRAIN_SPEECH 7 + +#define STREAK_TOWER_SINGLES_50       (1 << 0) +#define STREAK_TOWER_SINGLES_OPEN     (1 << 1) +#define STREAK_DOME_SINGLES_50        (1 << 2) +#define STREAK_DOME_SINGLES_OPEN      (1 << 3) +#define STREAK_PALACE_SINGLES_50      (1 << 4) +#define STREAK_PALACE_SINGLES_OPEN    (1 << 5) +#define STREAK_ARENA_50               (1 << 6) +#define STREAK_ARENA_OPEN             (1 << 7) +#define STREAK_FACTORY_SINGLES_50     (1 << 8) +#define STREAK_FACTORY_SINGLES_OPEN   (1 << 9) +#define STREAK_PIKE_50                (1 << 10) +#define STREAK_PIKE_OPEN              (1 << 11) +#define STREAK_PYRAMID_50             (1 << 12) +#define STREAK_PYRAMID_OPEN           (1 << 13) +#define STREAK_TOWER_DOUBLES_50       (1 << 14) +#define STREAK_TOWER_DOUBLES_OPEN     (1 << 15) +#define STREAK_TOWER_MULTIS_50        (1 << 16) +#define STREAK_TOWER_MULTIS_OPEN      (1 << 17) +#define STREAK_TOWER_LINK_MULTIS_50   (1 << 18) +#define STREAK_TOWER_LINK_MULTIS_OPEN (1 << 19) +#define STREAK_DOME_DOUBLES_50        (1 << 20) +#define STREAK_DOME_DOUBLES_OPEN      (1 << 21) +#define STREAK_PALACE_DOUBLES_50      (1 << 22) +#define STREAK_PALACE_DOUBLES_OPEN    (1 << 23) +#define STREAK_FACTORY_DOUBLES_50     (1 << 24) +#define STREAK_FACTORY_DOUBLES_OPEN   (1 << 25) + +#endif // GUARD_CONSTANTS_FRONTIER_UTIL_H diff --git a/include/constants/global.h b/include/constants/global.h index a862ecad2..d57307d9c 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -18,12 +18,13 @@  #define VERSION_GAMECUBE 15  #define LANGUAGE_JAPANESE 1 -#define LANGUAGE_ENGLISH 2 -#define LANGUAGE_FRENCH 3 -#define LANGUAGE_ITALIAN 4 -#define LANGUAGE_GERMAN 5 -#define LANGUAGE_KOREAN 6 // 6 goes unused but the theory is it was meant to be Korean -#define LANGUAGE_SPANISH 7 +#define LANGUAGE_ENGLISH  2 +#define LANGUAGE_FRENCH   3 +#define LANGUAGE_ITALIAN  4 +#define LANGUAGE_GERMAN   5 +#define LANGUAGE_KOREAN   6 // 6 goes unused but the theory is it was meant to be Korean +#define LANGUAGE_SPANISH  7 +#define NUM_LANGUAGES     7  #define GAME_VERSION (VERSION_EMERALD)  #define GAME_LANGUAGE (LANGUAGE_ENGLISH) @@ -46,21 +47,42 @@  #define BAG_TMHM_COUNT 64  #define BAG_BERRIES_COUNT 46  #define EVENT_OBJECT_TEMPLATES_COUNT 64 +#define DECOR_MAX_SECRET_BASE 16 +#define DECOR_MAX_PLAYERS_HOUSE 12 +#define APPRENTICE_COUNT 4 +#define APPRENTICE_MAX_QUESTIONS 9 +#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used  #define PYRAMID_BAG_ITEMS_COUNT 10  #define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.  #define TRAINER_ID_LENGTH 4 +#define MAX_MON_MOVES 4 +#define NUM_STATS 6 + +// party sizes +#define PARTY_SIZE 6 +#define MULTI_PARTY_SIZE PARTY_SIZE / 2 +#define FRONTIER_PARTY_SIZE         3 +#define FRONTIER_DOUBLES_PARTY_SIZE 4 +#define FRONTIER_MULTI_PARTY_SIZE   2 +#define MAX_FRONTIER_PARTY_SIZE     FRONTIER_DOUBLES_PARTY_SIZE  // string lengths  #define ITEM_NAME_LENGTH 14  #define POKEMON_NAME_LENGTH 10  #define PLAYER_NAME_LENGTH 7  #define MAIL_WORDS_COUNT 9 +#define EASY_CHAT_BATTLE_WORDS_COUNT 6  #define MOVE_NAME_LENGTH 12  #define MALE 0  #define FEMALE 1 +#define GENDER_COUNT 2 + +#define BARD_SONG_LENGTH       6 +#define NUM_STORYTELLER_TALES  4 +#define NUM_TRADER_ITEMS       4  #define OPTIONS_BUTTON_MODE_NORMAL 0  #define OPTIONS_BUTTON_MODE_LR 1 diff --git a/include/constants/item.h b/include/constants/item.h new file mode 100644 index 000000000..a5c34418d --- /dev/null +++ b/include/constants/item.h @@ -0,0 +1,20 @@ +#ifndef GUARD_ITEM_CONSTANTS_H +#define GUARD_ITEM_CONSTANTS_H + +// These constants are used in gItems +#define POCKET_NONE        0 +#define POCKET_ITEMS       1 +#define POCKET_POKE_BALLS  2 +#define POCKET_TM_HM       3 +#define POCKET_BERRIES     4 +#define POCKET_KEY_ITEMS   5 + +#define ITEMS_POCKET       0 +#define BALLS_POCKET       1 +#define TMHM_POCKET        2 +#define BERRIES_POCKET     3 +#define KEYITEMS_POCKET    4 +#define POCKETS_COUNT      5 + + +#endif // GUARD_ITEM_CONSTANTS_H diff --git a/include/constants/item_effects.h b/include/constants/item_effects.h index a5bb77035..49fcedc61 100644 --- a/include/constants/item_effects.h +++ b/include/constants/item_effects.h @@ -3,7 +3,7 @@  // field 0 masks  #define ITEM0_X_ATTACK          0x0F -#define ITEM0_HIGH_CRIT         0x30 // For Dire Hit, works the same way as move Focus Energy. +#define ITEM0_DIRE_HIT          0x30 // Works the same way as the move Focus Energy.  #define ITEM0_SACRED_ASH        0x40  #define ITEM0_INFATUATION       0x80 @@ -23,7 +23,7 @@  #define ITEM3_POISON            0x10  #define ITEM3_SLEEP             0x20  #define ITEM3_LEVEL_UP          0x40 -#define ITEM3_MIST              0x80 // For Guard Specs, works the same way as move Mist. +#define ITEM3_GUARD_SPEC        0x80 // Works the same way as the move Mist.     #define ITEM3_STATUS_ALL        (ITEM3_CONFUSION | ITEM3_PARALYSIS | ITEM3_FREEZE | ITEM3_BURN | ITEM3_POISON | ITEM3_SLEEP) diff --git a/include/constants/items.h b/include/constants/items.h index 3a894f8ff..db3474a72 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -465,8 +465,27 @@  #define ITEMS_COUNT 377  #define ITEM_FIELD_ARROW ITEMS_COUNT -#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY -#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY +#define FIRST_BERRY_INDEX             ITEM_CHERI_BERRY +#define LAST_BERRY_INDEX              ITEM_ENIGMA_BERRY + +// Range of berries given out by various NPCS +#define FIRST_BERRY_MASTER_BERRY      ITEM_POMEG_BERRY +#define LAST_BERRY_MASTER_BERRY       ITEM_NOMEL_BERRY +#define FIRST_BERRY_MASTER_WIFE_BERRY ITEM_CHERI_BERRY +#define LAST_BERRY_MASTER_WIFE_BERRY  ITEM_SITRUS_BERRY +#define FIRST_KIRI_BERRY              ITEM_POMEG_BERRY +#define LAST_KIRI_BERRY               ITEM_NOMEL_BERRY +#define FIRST_ROUTE_114_MAN_BERRY     ITEM_RAZZ_BERRY +#define LAST_ROUTE_114_MAN_BERRY      ITEM_PINAP_BERRY + +#define NUM_BERRY_MASTER_BERRIES          LAST_BERRY_MASTER_BERRY - FIRST_BERRY_MASTER_BERRY + 1 +#define NUM_BERRY_MASTER_BERRIES_SKIPPED  FIRST_BERRY_MASTER_BERRY - FIRST_BERRY_INDEX +#define NUM_BERRY_MASTER_WIFE_BERRIES     LAST_BERRY_MASTER_WIFE_BERRY - FIRST_BERRY_MASTER_WIFE_BERRY + 1 +#define NUM_KIRI_BERRIES                  LAST_KIRI_BERRY - FIRST_KIRI_BERRY + 1 +#define NUM_KIRI_BERRIES_SKIPPED          FIRST_KIRI_BERRY - FIRST_BERRY_INDEX +#define NUM_ROUTE_114_MAN_BERRIES         LAST_ROUTE_114_MAN_BERRY - FIRST_ROUTE_114_MAN_BERRY + 1 +#define NUM_ROUTE_114_MAN_BERRIES_SKIPPED FIRST_ROUTE_114_MAN_BERRY - FIRST_BERRY_INDEX +  #define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1))  #define NUM_TECHNICAL_MACHINES 50 diff --git a/include/constants/layouts.h b/include/constants/layouts.h index d4819c46a..3e876f499 100755 --- a/include/constants/layouts.h +++ b/include/constants/layouts.h @@ -221,22 +221,22 @@  #define LAYOUT_SECRET_BASE_YELLOW_CAVE4 218  #define LAYOUT_SECRET_BASE_TREE4 219  #define LAYOUT_SECRET_BASE_SHRUB4 220 -#define LAYOUT_SINGLE_BATTLE_COLOSSEUM 221 +#define LAYOUT_BATTLE_COLOSSEUM_2P 221  #define LAYOUT_TRADE_CENTER 222  #define LAYOUT_RECORD_CORNER 223 -#define LAYOUT_DOUBLE_BATTLE_COLOSSEUM 224 -#define LAYOUT_LINK_CONTEST_ROOM1 225 +#define LAYOUT_BATTLE_COLOSSEUM_4P 224 +#define LAYOUT_CONTEST_HALL 225  #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29 226  #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_30 227  #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_31 228  #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_32 229  #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_33 230  #define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_34 231 -#define LAYOUT_LINK_CONTEST_ROOM2 232 -#define LAYOUT_LINK_CONTEST_ROOM3 233 -#define LAYOUT_LINK_CONTEST_ROOM4 234 -#define LAYOUT_LINK_CONTEST_ROOM5 235 -#define LAYOUT_LINK_CONTEST_ROOM6 236 +#define LAYOUT_CONTEST_HALL_BEAUTY 232 +#define LAYOUT_CONTEST_HALL_TOUGH 233 +#define LAYOUT_CONTEST_HALL_COOL 234 +#define LAYOUT_CONTEST_HALL_SMART 235 +#define LAYOUT_CONTEST_HALL_CUTE 236  #define LAYOUT_INSIDE_OF_TRUCK 237  #define LAYOUT_SAFARI_ZONE_NORTHWEST 238  #define LAYOUT_SAFARI_ZONE_NORTH 239 @@ -352,16 +352,16 @@  #define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY 349  #define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR 350  #define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM 351 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 352 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 353 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL 352 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL 353  #define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY 354  #define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR 355  #define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM 356  #define LAYOUT_SOOTOPOLIS_CITY_LEGENDS_BATTLE 357 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 358 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS 358  #define LAYOUT_UNKNOWN_084693AC 359  #define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY 360 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE 361 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR 361  #define LAYOUT_BATTLE_PYRAMID_SQUARE01 362  #define LAYOUT_BATTLE_PYRAMID_SQUARE02 363  #define LAYOUT_BATTLE_PYRAMID_SQUARE03 364 @@ -390,15 +390,15 @@  #define LAYOUT_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM 387  #define LAYOUT_MIRAGE_TOWER_4F 388  #define LAYOUT_DESERT_UNDERPASS 389 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM 390 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 391 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM 390 +#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR 391  #define LAYOUT_ROUTE111_NO_MIRAGE_TOWER 392  #define LAYOUT_UNION_ROOM 393  #define LAYOUT_SAFARI_ZONE_NORTHEAST 394  #define LAYOUT_SAFARI_ZONE_SOUTHEAST 395  #define LAYOUT_BATTLE_FRONTIER_RANKING_HALL 396  #define LAYOUT_BATTLE_FRONTIER_LOUNGE1 397 -#define LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER 398 +#define LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER 398  #define LAYOUT_BATTLE_FRONTIER_RECEPTION_GATE 399  #define LAYOUT_ARTISAN_CAVE_B1F 400  #define LAYOUT_ARTISAN_CAVE_1F 401 diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h index 6a3276b44..17fe7ab53 100755 --- a/include/constants/map_groups.h +++ b/include/constants/map_groups.h @@ -98,8 +98,8 @@  #define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8))  #define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F       (4 | (5 << 8))  #define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F       (5 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_HOUSE1                  (6 | (5 << 8)) -#define MAP_FALLARBOR_TOWN_HOUSE2                  (7 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_COZMOS_HOUSE            (6 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE   (7 | (5 << 8))  // Map Group 6  #define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY       (0 | (6 << 8)) @@ -136,12 +136,12 @@  #define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY       (2 | (9 << 8))  #define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR    (3 | (9 << 8))  #define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8)) -#define MAP_SLATEPORT_CITY_HOUSE1                  (5 | (9 << 8)) +#define MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE       (5 | (9 << 8))  #define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB        (6 | (9 << 8))  #define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F       (7 | (9 << 8))  #define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F       (8 | (9 << 8))  #define MAP_SLATEPORT_CITY_HARBOR                  (9 | (9 << 8)) -#define MAP_SLATEPORT_CITY_HOUSE2                  (10 | (9 << 8)) +#define MAP_SLATEPORT_CITY_HOUSE                   (10 | (9 << 8))  #define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F       (11 | (9 << 8))  #define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F       (12 | (9 << 8))  #define MAP_SLATEPORT_CITY_MART                    (13 | (9 << 8)) @@ -422,22 +422,22 @@  #define MAP_SECRET_BASE_YELLOW_CAVE4        (21 | (25 << 8))  #define MAP_SECRET_BASE_TREE4               (22 | (25 << 8))  #define MAP_SECRET_BASE_SHRUB4              (23 | (25 << 8)) -#define MAP_SINGLE_BATTLE_COLOSSEUM         (24 | (25 << 8)) +#define MAP_BATTLE_COLOSSEUM_2P             (24 | (25 << 8))  #define MAP_TRADE_CENTER                    (25 | (25 << 8))  #define MAP_RECORD_CORNER                   (26 | (25 << 8)) -#define MAP_DOUBLE_BATTLE_COLOSSEUM         (27 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM1              (28 | (25 << 8)) +#define MAP_BATTLE_COLOSSEUM_4P             (27 | (25 << 8)) +#define MAP_CONTEST_HALL                    (28 | (25 << 8))  #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_29 (29 | (25 << 8))  #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_30 (30 | (25 << 8))  #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_31 (31 | (25 << 8))  #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_32 (32 | (25 << 8))  #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_33 (33 | (25 << 8))  #define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_34 (34 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM2              (35 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM3              (36 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM4              (37 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM5              (38 | (25 << 8)) -#define MAP_LINK_CONTEST_ROOM6              (39 | (25 << 8)) +#define MAP_CONTEST_HALL_BEAUTY             (35 | (25 << 8)) +#define MAP_CONTEST_HALL_TOUGH              (36 | (25 << 8)) +#define MAP_CONTEST_HALL_COOL               (37 | (25 << 8)) +#define MAP_CONTEST_HALL_SMART              (38 | (25 << 8)) +#define MAP_CONTEST_HALL_CUTE               (39 | (25 << 8))  #define MAP_INSIDE_OF_TRUCK                 (40 | (25 << 8))  #define MAP_SS_TIDAL_CORRIDOR               (41 | (25 << 8))  #define MAP_SS_TIDAL_LOWER_DECK             (42 | (25 << 8)) @@ -461,95 +461,95 @@  #define MAP_UNION_ROOM                      (60 | (25 << 8))  // Map Group 26 -#define MAP_SAFARI_ZONE_NORTHWEST                                (0 | (26 << 8)) -#define MAP_SAFARI_ZONE_NORTH                                    (1 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTHWEST                                (2 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTH                                    (3 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST                         (4 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY                   (5 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR                (6 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR                (7 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM             (8 | (26 << 8)) -#define MAP_SOUTHERN_ISLAND_EXTERIOR                             (9 | (26 << 8)) -#define MAP_SOUTHERN_ISLAND_INTERIOR                             (10 | (26 << 8)) -#define MAP_SAFARI_ZONE_REST_HOUSE                               (11 | (26 << 8)) -#define MAP_SAFARI_ZONE_NORTHEAST                                (12 | (26 << 8)) -#define MAP_SAFARI_ZONE_SOUTHEAST                                (13 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST                         (14 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM       (15 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2               (16 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2            (17 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY                    (18 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR                 (19 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM          (20 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM              (21 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY                  (22 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR               (23 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM            (24 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY                 (25 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE          (26 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP                   (27 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY                   (28 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR                (29 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM             (30 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY                 (31 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM       (32 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM           (33 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY                    (34 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR                 (35 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM          (36 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1             (37 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2             (38 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3             (39 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_RANKING_HALL                         (40 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE1                              (41 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE2                              (43 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE3                              (44 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE4                              (45 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE                         (46 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE5                              (47 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE6                              (48 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE7                              (49 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_RECEPTION_GATE                       (50 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE8                              (51 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_LOUNGE9                              (52 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F                    (53 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F                    (54 | (26 << 8)) -#define MAP_BATTLE_FRONTIER_MART                                 (55 | (26 << 8)) -#define MAP_FARAWAY_ISLAND_ENTRANCE                              (56 | (26 << 8)) -#define MAP_FARAWAY_ISLAND_INTERIOR                              (57 | (26 << 8)) -#define MAP_BIRTH_ISLAND_EXTERIOR                                (58 | (26 << 8)) -#define MAP_BIRTH_ISLAND_HARBOR                                  (59 | (26 << 8)) -#define MAP_TRAINER_HILL_ENTRANCE                                (60 | (26 << 8)) -#define MAP_TRAINER_HILL_1F                                      (61 | (26 << 8)) -#define MAP_TRAINER_HILL_2F                                      (62 | (26 << 8)) -#define MAP_TRAINER_HILL_3F                                      (63 | (26 << 8)) -#define MAP_TRAINER_HILL_4F                                      (64 | (26 << 8)) -#define MAP_TRAINER_HILL_ROOF                                    (65 | (26 << 8)) -#define MAP_NAVEL_ROCK_EXTERIOR                                  (66 | (26 << 8)) -#define MAP_NAVEL_ROCK_HARBOR                                    (67 | (26 << 8)) -#define MAP_NAVEL_ROCK_ENTRANCE                                  (68 | (26 << 8)) -#define MAP_NAVEL_ROCK_B1F                                       (69 | (26 << 8)) -#define MAP_NAVEL_ROCK_FORK                                      (70 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP1                                       (71 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP2                                       (72 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP3                                       (73 | (26 << 8)) -#define MAP_NAVEL_ROCK_UP4                                       (74 | (26 << 8)) -#define MAP_NAVEL_ROCK_TOP                                       (75 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN01                                    (76 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN02                                    (77 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN03                                    (78 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN04                                    (79 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN05                                    (80 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN06                                    (81 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN07                                    (82 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN08                                    (83 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN09                                    (84 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN10                                    (85 | (26 << 8)) -#define MAP_NAVEL_ROCK_DOWN11                                    (86 | (26 << 8)) -#define MAP_NAVEL_ROCK_BOTTOM                                    (87 | (26 << 8)) -#define MAP_TRAINER_HILL_ELEVATOR                                (88 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTHWEST                           (0 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTH                               (1 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHWEST                           (2 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTH                               (3 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST                    (4 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY              (5 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR           (6 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR           (7 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM        (8 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_EXTERIOR                        (9 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_INTERIOR                        (10 | (26 << 8)) +#define MAP_SAFARI_ZONE_REST_HOUSE                          (11 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTHEAST                           (12 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHEAST                           (13 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST                    (14 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM (15 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR     (16 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM  (17 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY               (18 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR            (19 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM     (20 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM         (21 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY             (22 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR          (23 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM       (24 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY            (25 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR            (26 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP              (27 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY              (28 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR           (29 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM        (30 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY            (31 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM  (32 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM      (33 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY               (34 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR            (35 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM     (36 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL         (37 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL          (38 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS      (39 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RANKING_HALL                    (40 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE1                         (41 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER         (42 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE2                         (43 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE3                         (44 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE4                         (45 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE                    (46 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE5                         (47 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE6                         (48 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE7                         (49 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RECEPTION_GATE                  (50 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE8                         (51 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE9                         (52 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F               (53 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F               (54 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_MART                            (55 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_ENTRANCE                         (56 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_INTERIOR                         (57 | (26 << 8)) +#define MAP_BIRTH_ISLAND_EXTERIOR                           (58 | (26 << 8)) +#define MAP_BIRTH_ISLAND_HARBOR                             (59 | (26 << 8)) +#define MAP_TRAINER_HILL_ENTRANCE                           (60 | (26 << 8)) +#define MAP_TRAINER_HILL_1F                                 (61 | (26 << 8)) +#define MAP_TRAINER_HILL_2F                                 (62 | (26 << 8)) +#define MAP_TRAINER_HILL_3F                                 (63 | (26 << 8)) +#define MAP_TRAINER_HILL_4F                                 (64 | (26 << 8)) +#define MAP_TRAINER_HILL_ROOF                               (65 | (26 << 8)) +#define MAP_NAVEL_ROCK_EXTERIOR                             (66 | (26 << 8)) +#define MAP_NAVEL_ROCK_HARBOR                               (67 | (26 << 8)) +#define MAP_NAVEL_ROCK_ENTRANCE                             (68 | (26 << 8)) +#define MAP_NAVEL_ROCK_B1F                                  (69 | (26 << 8)) +#define MAP_NAVEL_ROCK_FORK                                 (70 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP1                                  (71 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP2                                  (72 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP3                                  (73 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP4                                  (74 | (26 << 8)) +#define MAP_NAVEL_ROCK_TOP                                  (75 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN01                               (76 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN02                               (77 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN03                               (78 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN04                               (79 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN05                               (80 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN06                               (81 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN07                               (82 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN08                               (83 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN09                               (84 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN10                               (85 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN11                               (86 | (26 << 8)) +#define MAP_NAVEL_ROCK_BOTTOM                               (87 | (26 << 8)) +#define MAP_TRAINER_HILL_ELEVATOR                           (88 | (26 << 8))  // Map Group 27  #define MAP_ROUTE104_PROTOTYPE                          (0 | (27 << 8)) diff --git a/include/constants/mauville_man.h b/include/constants/mauville_man.h deleted file mode 100644 index b00e3a291..000000000 --- a/include/constants/mauville_man.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GUARD_CONSTANTS_MAUVILLE_MAN_H -#define GUARD_CONSTANTS_MAUVILLE_MAN_H - -#define MAUVILLE_MAN_BARD 0 -#define MAUVILLE_MAN_HIPSTER 1 -#define MAUVILLE_MAN_TRADER 2 -#define MAUVILLE_MAN_STORYTELLER 3 -#define MAUVILLE_MAN_GIDDY 4 - -#endif  // GUARD_CONSTANTS_MAUVILLE_MAN_H diff --git a/include/constants/mauville_old_man.h b/include/constants/mauville_old_man.h new file mode 100644 index 000000000..c1fb0bf24 --- /dev/null +++ b/include/constants/mauville_old_man.h @@ -0,0 +1,12 @@ +#ifndef GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H +#define GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H + +#define MAUVILLE_MAN_BARD           0 +#define MAUVILLE_MAN_HIPSTER        1 +#define MAUVILLE_MAN_TRADER         2 +#define MAUVILLE_MAN_STORYTELLER    3 +#define MAUVILLE_MAN_GIDDY          4 +#define MAUVILLE_MAN_UNUSED1        5 +#define MAUVILLE_MAN_UNUSED2        6 + +#endif // GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index 44bbd9729..94cb0ffca 100755 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -235,7 +235,7 @@  #define MB_CABLE_BOX_RESULTS_2 0xE7  #define MB_WIRELESS_BOX_RESULTS 0xE8  #define MB_TRAINER_HILL_TIMER 0xE9 -#define MB_UNKNOWN_CLOSED_DOOR 0xEA +#define MB_SKY_PILLAR_CLOSED_DOOR 0xEA  #define MB_UNUSED_EB 0xEB  #define MB_UNUSED_EC 0xEC  #define MB_UNUSED_ED 0xED diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 8fe95b464..a0ea6855b 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -2,29 +2,39 @@  #define GUARD_METATILE_LABELS_H  // gTileset_General -#define METATILE_General_Grass               0x001 -#define METATILE_General_TallGrass           0x00D -#define METATILE_General_LongGrass           0x015 -#define METATILE_General_TallGrass_TreeUp    0x025 -#define METATILE_General_Grass_TreeUp        0x00E -#define METATILE_General_TallGrass_TreeLeft  0x1C6 -#define METATILE_General_TallGrass_TreeRight 0x1C7 -#define METATILE_General_Grass_TreeLeft      0x1CE -#define METATILE_General_Grass_TreeRight     0x1CF -#define METATILE_General_MuddySlope_Frame0   0x0E8 -#define METATILE_General_MuddySlope_Frame1   0x0E9 -#define METATILE_General_MuddySlope_Frame2   0x0EA -#define METATILE_General_MuddySlope_Frame3   0x0EB -#define METATILE_General_SandPit_Center      0x121 -#define METATILE_General_CaveEntrance_Top    0x09F -#define METATILE_General_CaveEntrance_Bottom 0x0A7 -#define METATILE_General_RockWall_GrassBase  0x079 -#define METATILE_General_RockWall_RockBase   0x07C -#define METATILE_General_RockWall_SandBase   0x091 -#define METATILE_General_CalmWater           0x170 -#define METATILE_General_RoughWater          0x14E -#define METATILE_General_RoughDeepWater      0x14F -#define METATILE_General_ReflectiveWater     0x0A1 +#define METATILE_General_Grass                0x001 +#define METATILE_General_TallGrass            0x00D +#define METATILE_General_LongGrass            0x015 +#define METATILE_General_TallGrass_TreeUp     0x025 +#define METATILE_General_Grass_TreeUp         0x00E +#define METATILE_General_TallGrass_TreeLeft   0x1C6 +#define METATILE_General_TallGrass_TreeRight  0x1C7 +#define METATILE_General_Grass_TreeLeft       0x1CE +#define METATILE_General_Grass_TreeRight      0x1CF +#define METATILE_General_MuddySlope_Frame0    0x0E8 +#define METATILE_General_MuddySlope_Frame1    0x0E9 +#define METATILE_General_MuddySlope_Frame2    0x0EA +#define METATILE_General_MuddySlope_Frame3    0x0EB +#define METATILE_General_SandPit_Center       0x121 +#define METATILE_General_CaveEntrance_Top     0x09F +#define METATILE_General_CaveEntrance_Bottom  0x0A7 +#define METATILE_General_RockWall_GrassBase   0x079 +#define METATILE_General_RockWall_RockBase    0x07C +#define METATILE_General_RockWall_SandBase    0x091 +#define METATILE_General_CalmWater            0x170 +#define METATILE_General_RoughWater           0x14E +#define METATILE_General_RoughDeepWater       0x14F +#define METATILE_General_ReflectiveWater      0x0A1 +#define METATILE_General_SecretBase_TreeLeft  0x026 +#define METATILE_General_SecretBase_TreeRight 0x027 +#define METATILE_General_SecretBase_VineLeft  0x036 +#define METATILE_General_SecretBase_VineRight 0x037 +#define METATILE_General_RedCaveIndent        0x1A0 +#define METATILE_General_RedCaveOpen          0x1A1  +#define METATILE_General_YellowCaveIndent     0x1A8 +#define METATILE_General_YellowCaveOpen       0x1A9 +#define METATILE_General_BlueCaveIndent       0x1B0 +#define METATILE_General_BlueCaveOpen         0x1B1  // gTileset_Building  #define METATILE_Building_PC_Off 0x004 @@ -68,13 +78,16 @@  #define METATILE_PetalburgGym_SlidingDoor_Frame3 0x21B  #define METATILE_PetalburgGym_SlidingDoor_Frame4 0x21C -// gTileset_MossdeepGym -#define METATILE_MossdeepGym_Obelisk_Top           0x204 -#define METATILE_MossdeepGym_Obelisk_Base          0x20C -#define METATILE_MossdeepGym_Wall_LeftCorner       0x20D -#define METATILE_MossdeepGym_OuterWall_RightCorner 0x205 -#define METATILE_MossdeepGym_Empty0                0x238 -#define METATILE_MossdeepGym_Empty1                0x239 +// gTileset_MossdeepGym from R/S +#define METATILE_RS_MossdeepGym_RedArrow_Right        0x204 +#define METATILE_RS_MossdeepGym_RedArrow_Left         0x20C +#define METATILE_RS_MossdeepGym_RedArrow_Up           0x20D +#define METATILE_RS_MossdeepGym_RedArrow_Down         0x205 +#define METATILE_RS_MossdeepGym_Switch_Up             0x238 +#define METATILE_RS_MossdeepGym_Switch_Down           0x239 + +// gTileset_MossdeepGym from Emerald +#define METATILE_MossdeepGym_YellowArrow_Right        0x250  // gTileset_BrendansMaysHouse  #define METATILE_BrendansMaysHouse_BrendanPC_Off    0x25A @@ -140,14 +153,16 @@  #define METATILE_Fortree_BridgeOverGrass_Lowered          0x24F  #define METATILE_Fortree_BridgeOverTrees_Raised           0x256  #define METATILE_Fortree_BridgeOverTrees_Lowered          0x257 +#define METATILE_Fortree_SecretBase_Shrub                 0x271 +#define METATILE_Fortree_SecretBase_ShrubOpen             0x278  #define METATILE_Fortree_SecretBase_LongGrass_TopLeft     0x279  #define METATILE_Fortree_SecretBase_LongGrass_TopMid      0x27A  #define METATILE_Fortree_SecretBase_LongGrass_TopRight    0x27B  #define METATILE_Fortree_SecretBase_LongGrass_BottomLeft  0x281  #define METATILE_Fortree_SecretBase_LongGrass_BottomMid   0x282  #define METATILE_Fortree_SecretBase_LongGrass_BottomRight 0x283 -#define METATILE_Fortree_WoodBridge_Kecleon0              0x297 -#define METATILE_Fortree_WoodBridge_Kecleon1              0x29F +#define METATILE_Fortree_WoodBridge1_Top                  0x297 +#define METATILE_Fortree_WoodBridge1_Bottom               0x29F  // gTileset_Sootopolis  #define METATILE_Sootopolis_Door_Closed    0x248 @@ -161,6 +176,8 @@  // gTileset_Fallarbor  #define METATILE_Fallarbor_AshGrass                 0x20A +#define METATILE_Fallarbor_BrownCaveIndent          0x208 +#define METATILE_Fallarbor_BrownCaveOpen            0x210  #define METATILE_Fallarbor_NormalGrass              0x212  #define METATILE_Fallarbor_AshField                 0x218  #define METATILE_Fallarbor_BrownCaveEntrance_Top    0x259 @@ -252,10 +269,10 @@  #define METATILE_EliteFour_EntryDoor_ClosedBottom   0x20E  // gTileset_InsideShip -#define METATILE_InsideShip_InTactDoor0_Bottom 0x233 -#define METATILE_InsideShip_InTactDoor1_Bottom 0x22B -#define METATILE_InsideShip_DoorIndent1        0x21A -#define METATILE_InsideShip_DoorIndent0        0x234 +#define METATILE_InsideShip_IntactDoor_Bottom_Unlocked 0x22B +#define METATILE_InsideShip_IntactDoor_Bottom_Locked   0x233 +#define METATILE_InsideShip_DoorIndent_Unlocked        0x21A +#define METATILE_InsideShip_DoorIndent_Locked          0x234  // gTileset_BattlePike  #define METATILE_BattlePike_Curtain_Stage0_Tile0 0x24A @@ -376,8 +393,9 @@  #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down      0x263  #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt  0x27B  #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt 0x27C +#define METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right  0x298 -// gTileset_BikeShop +// gTileset_BikeShop (also used by New Mauville)  #define METATILE_BikeShop_Barrier_Hidden_Top      0x269  #define METATILE_BikeShop_Barrier_Hidden_Bottom   0x271  #define METATILE_BikeShop_Floor_Shadow_Top        0x26D @@ -410,4 +428,162 @@  #define METATILE_Underwater_RockWall    0x21E  #define METATILE_Underwater_FloorShadow 0x228 +// gTileset_SecretBase +#define METATILE_SecretBase_Wall_TopMid                 0x202 +#define METATILE_SecretBase_Ground                      0x20A +#define METATILE_SecretBase_PC                          0x220 +#define METATILE_SecretBase_RegisterPC                  0x221 +#define METATILE_SecretBase_PC_On                       0x224 +#define METATILE_SecretBase_RedBrick_Top                0x225 +#define METATILE_SecretBase_RedBrick_Bottom             0x22D +#define METATILE_SecretBase_YellowBrick_Top             0x226 +#define METATILE_SecretBase_YellowBrick_Bottom          0x22E +#define METATILE_SecretBase_BlueBrick_Top               0x227 +#define METATILE_SecretBase_BlueBrick_Bottom            0x22F +#define METATILE_SecretBase_MudBall                     0x228 +#define METATILE_SecretBase_Fence_Horizontal            0x22C +#define METATILE_SecretBase_Fence_Vertical              0x233 +#define METATILE_SecretBase_Board_Top                   0x234 +#define METATILE_SecretBase_Board_Bottom                0x23C +#define METATILE_SecretBase_RedTent_DoorTop             0x239 +#define METATILE_SecretBase_RedTent_Door                0x241 +#define METATILE_SecretBase_BlueTent_DoorTop            0x251 +#define METATILE_SecretBase_BlueTent_Door               0x259 +#define METATILE_SecretBase_Slide_Stairs                0x23D +#define METATILE_SecretBase_Slide                       0x23E +#define METATILE_SecretBase_Stand_LeftCorner            0x26A +#define METATILE_SecretBase_Stand_RightCorner           0x26D +#define METATILE_SecretBase_BreakableDoor_TopClosed     0x237 +#define METATILE_SecretBase_BreakableDoor_BottomClosed  0x23F +#define METATILE_SecretBase_BreakableDoor_TopOpen       0x26E +#define METATILE_SecretBase_BreakableDoor_BottomOpen    0x276 +#define METATILE_SecretBase_NoteMat_C                   0x278 +#define METATILE_SecretBase_NoteMat_D                   0x279 +#define METATILE_SecretBase_NoteMat_E                   0x27A +#define METATILE_SecretBase_NoteMat_F                   0x27B +#define METATILE_SecretBase_NoteMat_G                   0x27C +#define METATILE_SecretBase_NoteMat_A                   0x27D +#define METATILE_SecretBase_NoteMat_B                   0x27E +#define METATILE_SecretBase_NoteMat_C_Sharp             0x2B3 +#define METATILE_SecretBase_Tire_TopLeft                0x280 +#define METATILE_SecretBase_Tire_TopRight               0x281 +#define METATILE_SecretBase_Tire_BottomLeft             0x288 +#define METATILE_SecretBase_Tire_BottomRight            0x289 +#define METATILE_SecretBase_GlassOrnament_Base1         0x28A +#define METATILE_SecretBase_GlassOrnament_Base2         0x28B +#define METATILE_SecretBase_SandOrnament_BrokenTop      0x284 +#define METATILE_SecretBase_SandOrnament_BrokenBase     0x28C +#define METATILE_SecretBase_SandOrnament_Top            0x285 +#define METATILE_SecretBase_SandOrnament_Base1          0x28D +#define METATILE_SecretBase_SandOrnament_TopWall        0x286 +#define METATILE_SecretBase_SandOrnament_Base2          0x28E +#define METATILE_SecretBase_SmallDesk                   0x287 +#define METATILE_SecretBase_PokemonDesk                 0x28F +#define METATILE_SecretBase_HeavyDesk_TopLeft           0x290 +#define METATILE_SecretBase_HeavyDesk_TopMid            0x291 +#define METATILE_SecretBase_HeavyDesk_TopRight          0x292 +#define METATILE_SecretBase_HeavyDesk_BottomLeft        0x298 +#define METATILE_SecretBase_HeavyDesk_BottomMid         0x299 +#define METATILE_SecretBase_HeavyDesk_BottomRight       0x29A +#define METATILE_SecretBase_RaggedDesk_TopLeft          0x293 +#define METATILE_SecretBase_RaggedDesk_TopMid           0x294 +#define METATILE_SecretBase_RaggedDesk_TopRight         0x295 +#define METATILE_SecretBase_RaggedDesk_BottomLeft       0x29B +#define METATILE_SecretBase_RaggedDesk_BottomMid        0x29C +#define METATILE_SecretBase_RaggedDesk_BottomRight      0x29D +#define METATILE_SecretBase_ComfortDesk_TopLeft         0x296 +#define METATILE_SecretBase_ComfortDesk_TopMid          0x297 +#define METATILE_SecretBase_ComfortDesk_TopRight        0x2A3 +#define METATILE_SecretBase_ComfortDesk_BottomLeft      0x29E +#define METATILE_SecretBase_ComfortDesk_BottomMid       0x29F +#define METATILE_SecretBase_ComfortDesk_BottomRight     0x2AB +#define METATILE_SecretBase_BrickDesk_TopLeft           0x2A0 +#define METATILE_SecretBase_BrickDesk_TopMid            0x2A1 +#define METATILE_SecretBase_BrickDesk_TopRight          0x2A2 +#define METATILE_SecretBase_BrickDesk_MidLeft           0x2A8 +#define METATILE_SecretBase_BrickDesk_Center            0x2A9 +#define METATILE_SecretBase_BrickDesk_MidRight          0x2AA +#define METATILE_SecretBase_BrickDesk_BottomLeft        0x2B0 +#define METATILE_SecretBase_BrickDesk_BottomMid         0x2B1 +#define METATILE_SecretBase_BrickDesk_BottomRight       0x2B2 +#define METATILE_SecretBase_CampDesk_TopLeft            0x2A4 +#define METATILE_SecretBase_CampDesk_TopMid             0x2A5 +#define METATILE_SecretBase_CampDesk_TopRight           0x2A6 +#define METATILE_SecretBase_CampDesk_MidLeft            0x2AC +#define METATILE_SecretBase_CampDesk_Center             0x2AD +#define METATILE_SecretBase_CampDesk_MidRight           0x2AE +#define METATILE_SecretBase_CampDesk_BottomLeft         0x2B4 +#define METATILE_SecretBase_CampDesk_BottomMid          0x2B5 +#define METATILE_SecretBase_CampDesk_BottomRight        0x2B6 +#define METATILE_SecretBase_HardDesk_TopLeft            0x2A7 +#define METATILE_SecretBase_HardDesk_TopMid             0x2BB +#define METATILE_SecretBase_HardDesk_TopRight           0x2BC +#define METATILE_SecretBase_HardDesk_MidLeft            0x2AF +#define METATILE_SecretBase_HardDesk_Center             0x2C3 +#define METATILE_SecretBase_HardDesk_MidRight           0x2C4 +#define METATILE_SecretBase_HardDesk_BottomLeft         0x2B7 +#define METATILE_SecretBase_HardDesk_BottomMid          0x2CB +#define METATILE_SecretBase_HardDesk_BottomRight        0x2CC +#define METATILE_SecretBase_PrettyDesk_TopLeft          0x2BD +#define METATILE_SecretBase_PrettyDesk_TopMid           0x2BE +#define METATILE_SecretBase_PrettyDesk_TopRight         0x2BF +#define METATILE_SecretBase_PrettyDesk_MidLeft          0x2C5 +#define METATILE_SecretBase_PrettyDesk_Center           0x2C6 +#define METATILE_SecretBase_PrettyDesk_MidRight         0x2C7 +#define METATILE_SecretBase_PrettyDesk_BottomLeft       0x2CD +#define METATILE_SecretBase_PrettyDesk_BottomMid        0x2CE +#define METATILE_SecretBase_PrettyDesk_BottomRight      0x2CF +#define METATILE_SecretBase_SmallChair                  0x2B8 +#define METATILE_SecretBase_PokemonChair                0x2B9 +#define METATILE_SecretBase_HeavyChair                  0x2BA +#define METATILE_SecretBase_PrettyChair                 0x2C0 +#define METATILE_SecretBase_ComfortChair                0x2C1 +#define METATILE_SecretBase_RaggedChair                 0x2C2 +#define METATILE_SecretBase_BrickChair                  0x2C8 +#define METATILE_SecretBase_CampChair                   0x2C9 +#define METATILE_SecretBase_HardChair                   0x2Ca +#define METATILE_SecretBase_RedPlant_Base1              0x2D8 +#define METATILE_SecretBase_RedPlant_Base2              0x2D9 +#define METATILE_SecretBase_TropicalPlant_Base1         0x2DA +#define METATILE_SecretBase_TropicalPlant_Base2         0x2DB +#define METATILE_SecretBase_PrettyFlower_Base1          0x2DC +#define METATILE_SecretBase_PrettyFlower_Base2          0x2DD +#define METATILE_SecretBase_ColorfulFlowers_BaseLeft1   0x2E8 +#define METATILE_SecretBase_ColorfulFlowers_BaseRight1  0x2E9 +#define METATILE_SecretBase_ColorfulFlowers_BaseLeft2   0x2EA +#define METATILE_SecretBase_ColorfulFlowers_BaseRight2  0x2EB +#define METATILE_SecretBase_BigPlant_BaseLeft1          0x2EC +#define METATILE_SecretBase_BigPlant_BaseRight1         0x2ED +#define METATILE_SecretBase_BigPlant_BaseLeft2          0x2EE +#define METATILE_SecretBase_BigPlant_BaseRight2         0x2EF +#define METATILE_SecretBase_GorgeousPlant_BaseLeft1     0x2F8 +#define METATILE_SecretBase_GorgeousPlant_BaseRight1    0x2F9 +#define METATILE_SecretBase_GorgeousPlant_BaseLeft2     0x2FA +#define METATILE_SecretBase_GorgeousPlant_BaseRight2    0x2FB +#define METATILE_SecretBase_TV                          0x2F4 +#define METATILE_SecretBase_RoundTV                     0x2F5 +#define METATILE_SecretBase_CuteTV                      0x2F6 +#define METATILE_SecretBase_PikaPoster_Left             0x31C +#define METATILE_SecretBase_PikaPoster_Right            0x31D +#define METATILE_SecretBase_LongPoster_Left             0x31E +#define METATILE_SecretBase_LongPoster_Right            0x31F +#define METATILE_SecretBase_SeaPoster_Left              0x324 +#define METATILE_SecretBase_SeaPoster_Right             0x325 +#define METATILE_SecretBase_SkyPoster_Left              0x326 +#define METATILE_SecretBase_SkyPoster_Right             0x327 +#define METATILE_SecretBase_KissPoster_Left             0x32C +#define METATILE_SecretBase_KissPoster_Right            0x32D +#define METATILE_SecretBase_BallPoster                  0x330 +#define METATILE_SecretBase_GreenPoster                 0x331 +#define METATILE_SecretBase_RedPoster                   0x332 +#define METATILE_SecretBase_BluePoster                  0x333 +#define METATILE_SecretBase_CutePoster                  0x334 +#define METATILE_SecretBase_SilverShield_Base1          0x2DE +#define METATILE_SecretBase_SilverShield_Base2          0x2DF +#define METATILE_SecretBase_GoldShield_Base1            0x336 +#define METATILE_SecretBase_GoldShield_Base2            0x337 +#define METATILE_SecretBase_RedBalloon                  0x338 +#define METATILE_SecretBase_BlueBalloon                 0x33c +#define METATILE_SecretBase_YellowBalloon               0x340 +  #endif // GUARD_METATILE_LABELS_H diff --git a/include/constants/mevent.h b/include/constants/mevent.h new file mode 100644 index 000000000..25bbcdf36 --- /dev/null +++ b/include/constants/mevent.h @@ -0,0 +1,15 @@ +#ifndef GUARD_CONSTANTS_MEVENT_H +#define GUARD_CONSTANTS_MEVENT_H + +// mevent2.c +#define GET_NUM_STAMPS   0 +#define GET_MAX_STAMPS   1 +#define GET_CARD_BATTLES_WON  2 + +#define GET_NUM_STAMPS_INTERNAL   3 +#define GET_MAX_STAMPS_INTERNAL   4 +#define GET_CARD_BATTLES_WON_INTERNAL  0 + +#define REQUIRED_CARD_BATTLES 3 + +#endif //GUARD_MEVENT_H diff --git a/include/constants/opponents.h b/include/constants/opponents.h index 9f74baf67..cd35cf6b7 100644 --- a/include/constants/opponents.h +++ b/include/constants/opponents.h @@ -1,862 +1,866 @@  #ifndef GUARD_CONSTANTS_OPPONENTS_H  #define GUARD_CONSTANTS_OPPONENTS_H -#define TRAINER_NONE              0 -#define TRAINER_SAWYER_1          1 -#define TRAINER_GRUNT_1           2 -#define TRAINER_GRUNT_2           3 -#define TRAINER_GRUNT_3           4 -#define TRAINER_GRUNT_4           5 -#define TRAINER_GRUNT_5           6 -#define TRAINER_GRUNT_6           7 -#define TRAINER_GRUNT_7           8 -#define TRAINER_GABRIELLE_1       9 -#define TRAINER_GRUNT_8          10 -#define TRAINER_MARCEL           11 -#define TRAINER_ALBERTO          12 -#define TRAINER_ED               13 -#define TRAINER_GRUNT_9          14 -#define TRAINER_DECLAN           15 -#define TRAINER_GRUNT_10         16 -#define TRAINER_GRUNT_11         17 -#define TRAINER_GRUNT_12         18 -#define TRAINER_GRUNT_13         19 -#define TRAINER_GRUNT_14         20 -#define TRAINER_GRUNT_15         21 -#define TRAINER_GRUNT_16         22 -#define TRAINER_GRUNT_17         23 -#define TRAINER_GRUNT_18         24 -#define TRAINER_GRUNT_19         25 -#define TRAINER_GRUNT_20         26 -#define TRAINER_GRUNT_21         27 -#define TRAINER_GRUNT_22         28 -#define TRAINER_FREDRICK         29 -#define TRAINER_MATT             30 -#define TRAINER_ZANDER           31 -#define TRAINER_SHELLY_1         32 -#define TRAINER_SHELLY_2         33 -#define TRAINER_ARCHIE           34 -#define TRAINER_LEAH             35 -#define TRAINER_DAISY            36 -#define TRAINER_ROSE_1           37 -#define TRAINER_FELIX            38 -#define TRAINER_VIOLET           39 -#define TRAINER_ROSE_2           40 -#define TRAINER_ROSE_3           41 -#define TRAINER_ROSE_4           42 -#define TRAINER_ROSE_5           43 -#define TRAINER_DUSTY_1          44 -#define TRAINER_CHIP             45 -#define TRAINER_FOSTER           46 -#define TRAINER_DUSTY_2          47 -#define TRAINER_DUSTY_3          48 -#define TRAINER_DUSTY_4          49 -#define TRAINER_DUSTY_5          50 -#define TRAINER_GABBY_AND_TY_1   51 -#define TRAINER_GABBY_AND_TY_2   52 -#define TRAINER_GABBY_AND_TY_3   53 -#define TRAINER_GABBY_AND_TY_4   54 -#define TRAINER_GABBY_AND_TY_5   55 -#define TRAINER_GABBY_AND_TY_6   56 -#define TRAINER_LOLA_1           57 -#define TRAINER_AUSTINA          58 -#define TRAINER_GWEN             59 -#define TRAINER_LOLA_2           60 -#define TRAINER_LOLA_3           61 -#define TRAINER_LOLA_4           62 -#define TRAINER_LOLA_5           63 -#define TRAINER_RICKY_1          64 -#define TRAINER_SIMON            65 -#define TRAINER_CHARLIE          66 -#define TRAINER_RICKY_2          67 -#define TRAINER_RICKY_3          68 -#define TRAINER_RICKY_4          69 -#define TRAINER_RICKY_5          70 -#define TRAINER_RANDALL          71 -#define TRAINER_PARKER           72 -#define TRAINER_GEORGE           73 -#define TRAINER_BERKE            74 -#define TRAINER_BRAXTON          75 -#define TRAINER_VINCENT          76 -#define TRAINER_LEROY            77 -#define TRAINER_WILTON_1         78 -#define TRAINER_EDGAR            79 -#define TRAINER_ALBERT           80 -#define TRAINER_SAMUEL           81 -#define TRAINER_VITO             82 -#define TRAINER_OWEN             83 -#define TRAINER_WILTON_2         84 -#define TRAINER_WILTON_3         85 -#define TRAINER_WILTON_4         86 -#define TRAINER_WILTON_5         87 -#define TRAINER_WARREN           88 -#define TRAINER_MARY             89 -#define TRAINER_ALEXIA           90 -#define TRAINER_JODY             91 -#define TRAINER_WENDY            92 -#define TRAINER_KEIRA            93 -#define TRAINER_BROOKE_1         94 -#define TRAINER_JENNIFER         95 -#define TRAINER_HOPE             96 -#define TRAINER_SHANNON          97 -#define TRAINER_MICHELLE         98 -#define TRAINER_CAROLINE         99 -#define TRAINER_JULIE           100 -#define TRAINER_BROOKE_2        101 -#define TRAINER_BROOKE_3        102 -#define TRAINER_BROOKE_4        103 -#define TRAINER_BROOKE_5        104 -#define TRAINER_PATRICIA        105 -#define TRAINER_KINDRA          106 -#define TRAINER_TAMMY           107 -#define TRAINER_VALERIE_1       108 -#define TRAINER_TASHA           109 -#define TRAINER_VALERIE_2       110 -#define TRAINER_VALERIE_3       111 -#define TRAINER_VALERIE_4       112 -#define TRAINER_VALERIE_5       113 -#define TRAINER_CINDY_1         114 -#define TRAINER_DAPHNE          115 -#define TRAINER_GRUNT_23        116 -#define TRAINER_CINDY_2         117 -#define TRAINER_BRIANNA         118 -#define TRAINER_NAOMI           119 -#define TRAINER_CINDY_3         120 -#define TRAINER_CINDY_4         121 -#define TRAINER_CINDY_5         122 -#define TRAINER_CINDY_6         123 -#define TRAINER_MELISSA         124 -#define TRAINER_SHEILA          125 -#define TRAINER_SHIRLEY         126 -#define TRAINER_JESSICA_1       127 -#define TRAINER_CONNIE          128 -#define TRAINER_BRIDGET         129 -#define TRAINER_OLIVIA          130 -#define TRAINER_TIFFANY         131 -#define TRAINER_JESSICA_2       132 -#define TRAINER_JESSICA_3       133 -#define TRAINER_JESSICA_4       134 -#define TRAINER_JESSICA_5       135 -#define TRAINER_WINSTON_1       136 -#define TRAINER_MOLLIE          137 -#define TRAINER_GARRET          138 -#define TRAINER_WINSTON_2       139 -#define TRAINER_WINSTON_3       140 -#define TRAINER_WINSTON_4       141 -#define TRAINER_WINSTON_5       142 -#define TRAINER_STEVE_1         143 -#define TRAINER_THALIA_1        144 -#define TRAINER_MARK            145 -#define TRAINER_GRUNT_24        146 -#define TRAINER_STEVE_2         147 -#define TRAINER_STEVE_3         148 -#define TRAINER_STEVE_4         149 -#define TRAINER_STEVE_5         150 -#define TRAINER_LUIS            151 -#define TRAINER_DOMINIK         152 -#define TRAINER_DOUGLAS         153 -#define TRAINER_DARRIN          154 -#define TRAINER_TONY_1          155 -#define TRAINER_JEROME          156 -#define TRAINER_MATTHEW         157 -#define TRAINER_DAVID           158 -#define TRAINER_SPENCER         159 -#define TRAINER_ROLAND          160 -#define TRAINER_NOLEN           161 -#define TRAINER_STAN            162 -#define TRAINER_BARRY           163 -#define TRAINER_DEAN            164 -#define TRAINER_RODNEY          165 -#define TRAINER_RICHARD         166 -#define TRAINER_HERMAN          167 -#define TRAINER_SANTIAGO        168 -#define TRAINER_GILBERT         169 -#define TRAINER_FRANKLIN        170 -#define TRAINER_KEVIN           171 -#define TRAINER_JACK            172 -#define TRAINER_DUDLEY          173 -#define TRAINER_CHAD            174 -#define TRAINER_TONY_2          175 -#define TRAINER_TONY_3          176 -#define TRAINER_TONY_4          177 -#define TRAINER_TONY_5          178 -#define TRAINER_TAKAO           179 -#define TRAINER_HITOSHI         180 -#define TRAINER_KIYO            181 -#define TRAINER_KOICHI          182 -#define TRAINER_NOB_1           183 -#define TRAINER_NOB_2           184 -#define TRAINER_NOB_3           185 -#define TRAINER_NOB_4           186 -#define TRAINER_NOB_5           187 -#define TRAINER_YUJI            188 -#define TRAINER_DAISUKE         189 -#define TRAINER_ATSUSHI         190 -#define TRAINER_KIRK            191 -#define TRAINER_GRUNT_25        192 -#define TRAINER_GRUNT_26        193 -#define TRAINER_SHAWN           194 -#define TRAINER_FERNANDO_1      195 -#define TRAINER_DALTON_1        196 -#define TRAINER_DALTON_2        197 -#define TRAINER_DALTON_3        198 -#define TRAINER_DALTON_4        199 -#define TRAINER_DALTON_5        200 -#define TRAINER_COLE            201 -#define TRAINER_JEFF            202 -#define TRAINER_AXLE            203 -#define TRAINER_JACE            204 -#define TRAINER_KEEGAN          205 -#define TRAINER_BERNIE_1        206 -#define TRAINER_BERNIE_2        207 -#define TRAINER_BERNIE_3        208 -#define TRAINER_BERNIE_4        209 -#define TRAINER_BERNIE_5        210 -#define TRAINER_DREW            211 -#define TRAINER_BEAU            212 -#define TRAINER_LARRY           213 -#define TRAINER_SHANE           214 -#define TRAINER_JUSTIN          215 -#define TRAINER_ETHAN_1         216 -#define TRAINER_AUTUMN          217 -#define TRAINER_TRAVIS          218 -#define TRAINER_ETHAN_2         219 -#define TRAINER_ETHAN_3         220 -#define TRAINER_ETHAN_4         221 -#define TRAINER_ETHAN_5         222 -#define TRAINER_BRENT           223 -#define TRAINER_DONALD          224 -#define TRAINER_TAYLOR          225 -#define TRAINER_JEFFREY_1       226 -#define TRAINER_DEREK           227 -#define TRAINER_JEFFREY_2       228 -#define TRAINER_JEFFREY_3       229 -#define TRAINER_JEFFREY_4       230 -#define TRAINER_JEFFREY_5       231 -#define TRAINER_EDWARD          232 -#define TRAINER_PRESTON         233 -#define TRAINER_VIRGIL          234 -#define TRAINER_BLAKE           235 -#define TRAINER_WILLIAM         236 -#define TRAINER_JOSHUA          237 -#define TRAINER_CAMERON_1       238 -#define TRAINER_CAMERON_2       239 -#define TRAINER_CAMERON_3       240 -#define TRAINER_CAMERON_4       241 -#define TRAINER_CAMERON_5       242 -#define TRAINER_JACLYN          243 -#define TRAINER_HANNAH          244 -#define TRAINER_SAMANTHA        245 -#define TRAINER_MAURA           246 -#define TRAINER_KAYLA           247 -#define TRAINER_ALEXIS          248 -#define TRAINER_JACKI_1         249 -#define TRAINER_JACKI_2         250 -#define TRAINER_JACKI_3         251 -#define TRAINER_JACKI_4         252 -#define TRAINER_JACKI_5         253 -#define TRAINER_WALTER_1        254 -#define TRAINER_MICAH           255 -#define TRAINER_THOMAS          256 -#define TRAINER_WALTER_2        257 -#define TRAINER_WALTER_3        258 -#define TRAINER_WALTER_4        259 -#define TRAINER_WALTER_5        260 -#define TRAINER_SIDNEY          261 -#define TRAINER_PHOEBE          262 -#define TRAINER_GLACIA          263 -#define TRAINER_DRAKE           264 -#define TRAINER_ROXANNE_1       265 -#define TRAINER_BRAWLY_1        266 -#define TRAINER_WATTSON_1       267 -#define TRAINER_FLANNERY_1      268 -#define TRAINER_NORMAN_1        269 -#define TRAINER_WINONA_1        270 -#define TRAINER_TATE_AND_LIZA_1 271 -#define TRAINER_JUAN_1          272 -#define TRAINER_JERRY_1         273 -#define TRAINER_TED             274 -#define TRAINER_PAUL            275 -#define TRAINER_JERRY_2         276 -#define TRAINER_JERRY_3         277 -#define TRAINER_JERRY_4         278 -#define TRAINER_JERRY_5         279 -#define TRAINER_KAREN_1         280 -#define TRAINER_GEORGIA         281 -#define TRAINER_KAREN_2         282 -#define TRAINER_KAREN_3         283 -#define TRAINER_KAREN_4         284 -#define TRAINER_KAREN_5         285 -#define TRAINER_KATE_AND_JOY    286 -#define TRAINER_ANNA_AND_MEG_1  287 -#define TRAINER_ANNA_AND_MEG_2  288 -#define TRAINER_ANNA_AND_MEG_3  289 -#define TRAINER_ANNA_AND_MEG_4  290 -#define TRAINER_ANNA_AND_MEG_5  291 -#define TRAINER_VICTOR          292 -#define TRAINER_MIGUEL_1        293 -#define TRAINER_COLTON          294 -#define TRAINER_MIGUEL_2        295 -#define TRAINER_MIGUEL_3        296 -#define TRAINER_MIGUEL_4        297 -#define TRAINER_MIGUEL_5        298 -#define TRAINER_VICTORIA        299 -#define TRAINER_VANESSA         300 -#define TRAINER_BETHANY         301 -#define TRAINER_ISABEL_1        302 -#define TRAINER_ISABEL_2        303 -#define TRAINER_ISABEL_3        304 -#define TRAINER_ISABEL_4        305 -#define TRAINER_ISABEL_5        306 -#define TRAINER_TIMOTHY_1       307 -#define TRAINER_TIMOTHY_2       308 -#define TRAINER_TIMOTHY_3       309 -#define TRAINER_TIMOTHY_4       310 -#define TRAINER_TIMOTHY_5       311 -#define TRAINER_VICKY           312 -#define TRAINER_SHELBY_1        313 -#define TRAINER_SHELBY_2        314 -#define TRAINER_SHELBY_3        315 -#define TRAINER_SHELBY_4        316 -#define TRAINER_SHELBY_5        317 -#define TRAINER_CALVIN_1        318 -#define TRAINER_BILLY           319 -#define TRAINER_JOSH            320 -#define TRAINER_TOMMY           321 -#define TRAINER_JOEY            322 -#define TRAINER_BEN             323 -#define TRAINER_QUINCY          324 -#define TRAINER_KATELYNN        325 -#define TRAINER_JAYLEN          326 -#define TRAINER_DILLON          327 -#define TRAINER_CALVIN_2        328 -#define TRAINER_CALVIN_3        329 -#define TRAINER_CALVIN_4        330 -#define TRAINER_CALVIN_5        331 -#define TRAINER_EDDIE           332 -#define TRAINER_ALLEN           333 -#define TRAINER_TIMMY           334 -#define TRAINER_WALLACE         335 -#define TRAINER_ANDREW          336 -#define TRAINER_IVAN            337 -#define TRAINER_CLAUDE          338 -#define TRAINER_ELLIOT_1        339 -#define TRAINER_NED             340 -#define TRAINER_DALE            341 -#define TRAINER_NOLAN           342 -#define TRAINER_BARNY           343 -#define TRAINER_WADE            344 -#define TRAINER_CARTER          345 -#define TRAINER_ELLIOT_2        346 -#define TRAINER_ELLIOT_3        347 -#define TRAINER_ELLIOT_4        348 -#define TRAINER_ELLIOT_5        349 -#define TRAINER_RONALD          350 -#define TRAINER_JACOB           351 -#define TRAINER_ANTHONY         352 -#define TRAINER_BENJAMIN_1      353 -#define TRAINER_BENJAMIN_2      354 -#define TRAINER_BENJAMIN_3      355 -#define TRAINER_BENJAMIN_4      356 -#define TRAINER_BENJAMIN_5      357 -#define TRAINER_ABIGAIL_1       358 -#define TRAINER_JASMINE         359 -#define TRAINER_ABIGAIL_2       360 -#define TRAINER_ABIGAIL_3       361 -#define TRAINER_ABIGAIL_4       362 -#define TRAINER_ABIGAIL_5       363 -#define TRAINER_DYLAN_1         364 -#define TRAINER_DYLAN_2         365 -#define TRAINER_DYLAN_3         366 -#define TRAINER_DYLAN_4         367 -#define TRAINER_DYLAN_5         368 -#define TRAINER_MARIA_1         369 -#define TRAINER_MARIA_2         370 -#define TRAINER_MARIA_3         371 -#define TRAINER_MARIA_4         372 -#define TRAINER_MARIA_5         373 -#define TRAINER_CAMDEN          374 -#define TRAINER_DEMETRIUS       375 -#define TRAINER_ISAIAH_1        376 -#define TRAINER_PABLO_1         377 -#define TRAINER_CHASE           378 -#define TRAINER_ISAIAH_2        379 -#define TRAINER_ISAIAH_3        380 -#define TRAINER_ISAIAH_4        381 -#define TRAINER_ISAIAH_5        382 -#define TRAINER_ISOBEL          383 -#define TRAINER_DONNY           384 -#define TRAINER_TALIA           385 -#define TRAINER_KATELYN_1       386 -#define TRAINER_ALLISON         387 -#define TRAINER_KATELYN_2       388 -#define TRAINER_KATELYN_3       389 -#define TRAINER_KATELYN_4       390 -#define TRAINER_KATELYN_5       391 -#define TRAINER_NICOLAS_1       392 -#define TRAINER_NICOLAS_2       393 -#define TRAINER_NICOLAS_3       394 -#define TRAINER_NICOLAS_4       395 -#define TRAINER_NICOLAS_5       396 -#define TRAINER_AARON           397 -#define TRAINER_PERRY           398 -#define TRAINER_HUGH            399 -#define TRAINER_PHIL            400 -#define TRAINER_JARED           401 -#define TRAINER_HUMBERTO        402 -#define TRAINER_PRESLEY         403 -#define TRAINER_EDWARDO         404 -#define TRAINER_COLIN           405 -#define TRAINER_ROBERT_1        406 -#define TRAINER_BENNY           407 -#define TRAINER_CHESTER         408 -#define TRAINER_ROBERT_2        409 -#define TRAINER_ROBERT_3        410 -#define TRAINER_ROBERT_4        411 -#define TRAINER_ROBERT_5        412 -#define TRAINER_ALEX            413 -#define TRAINER_BECK            414 -#define TRAINER_YASU            415 -#define TRAINER_TAKASHI         416 -#define TRAINER_DIANNE          417 -#define TRAINER_JANI            418 -#define TRAINER_LAO_1           419 -#define TRAINER_LUNG            420 -#define TRAINER_LAO_2           421 -#define TRAINER_LAO_3           422 -#define TRAINER_LAO_4           423 -#define TRAINER_LAO_5           424 -#define TRAINER_JOCELYN         425 -#define TRAINER_LAURA           426 -#define TRAINER_CYNDY_1         427 -#define TRAINER_CORA            428 -#define TRAINER_PAULA           429 -#define TRAINER_CYNDY_2         430 -#define TRAINER_CYNDY_3         431 -#define TRAINER_CYNDY_4         432 -#define TRAINER_CYNDY_5         433 -#define TRAINER_MADELINE_1      434 -#define TRAINER_CLARISSA        435 -#define TRAINER_ANGELICA        436 -#define TRAINER_MADELINE_2      437 -#define TRAINER_MADELINE_3      438 -#define TRAINER_MADELINE_4      439 -#define TRAINER_MADELINE_5      440 -#define TRAINER_BEVERLY         441 -#define TRAINER_IMANI           442 -#define TRAINER_KYLA            443 -#define TRAINER_DENISE          444 -#define TRAINER_BETH            445 -#define TRAINER_TARA            446 -#define TRAINER_MISSY           447 -#define TRAINER_ALICE           448 -#define TRAINER_JENNY_1         449 -#define TRAINER_GRACE           450 -#define TRAINER_TANYA           451 -#define TRAINER_SHARON          452 -#define TRAINER_NIKKI           453 -#define TRAINER_BRENDA          454 -#define TRAINER_KATIE           455 -#define TRAINER_SUSIE           456 -#define TRAINER_KARA            457 -#define TRAINER_DANA            458 -#define TRAINER_SIENNA          459 -#define TRAINER_DEBRA           460 -#define TRAINER_LINDA           461 -#define TRAINER_KAYLEE          462 -#define TRAINER_LAUREL          463 -#define TRAINER_CARLEE          464 -#define TRAINER_JENNY_2         465 -#define TRAINER_JENNY_3         466 -#define TRAINER_JENNY_4         467 -#define TRAINER_JENNY_5         468 -#define TRAINER_HEIDI           469 -#define TRAINER_BECKY           470 -#define TRAINER_CAROL           471 -#define TRAINER_NANCY           472 -#define TRAINER_MARTHA          473 -#define TRAINER_DIANA_1         474 -#define TRAINER_CEDRIC          475 -#define TRAINER_IRENE           476 -#define TRAINER_DIANA_2         477 -#define TRAINER_DIANA_3         478 -#define TRAINER_DIANA_4         479 -#define TRAINER_DIANA_5         480 -#define TRAINER_AMY_AND_LIV_1   481 -#define TRAINER_AMY_AND_LIV_2   482 -#define TRAINER_GINA_AND_MIA_1  483 -#define TRAINER_MIU_AND_YUKI    484 -#define TRAINER_AMY_AND_LIV_3   485 -#define TRAINER_GINA_AND_MIA_2  486 -#define TRAINER_AMY_AND_LIV_4   487 -#define TRAINER_AMY_AND_LIV_5   488 -#define TRAINER_AMY_AND_LIV_6   489 -#define TRAINER_HUEY            490 -#define TRAINER_EDMOND          491 -#define TRAINER_ERNEST_1        492 -#define TRAINER_DWAYNE          493 -#define TRAINER_PHILLIP         494 -#define TRAINER_LEONARD         495 -#define TRAINER_DUNCAN          496 -#define TRAINER_ERNEST_2        497 -#define TRAINER_ERNEST_3        498 -#define TRAINER_ERNEST_4        499 -#define TRAINER_ERNEST_5        500 -#define TRAINER_ELI             501 -#define TRAINER_ANNIKA          502 -#define TRAINER_JAZMYN          503 -#define TRAINER_JONAS           504 -#define TRAINER_KAYLEY          505 -#define TRAINER_AURON           506 -#define TRAINER_KELVIN          507 -#define TRAINER_MARLEY          508 -#define TRAINER_REYNA           509 -#define TRAINER_HUDSON          510 -#define TRAINER_CONOR           511 -#define TRAINER_EDWIN_1         512 -#define TRAINER_HECTOR          513 -#define TRAINER_TABITHA_1       514 -#define TRAINER_EDWIN_2         515 -#define TRAINER_EDWIN_3         516 -#define TRAINER_EDWIN_4         517 -#define TRAINER_EDWIN_5         518 -#define TRAINER_WALLY_1         519 -#define TRAINER_BRENDAN_1       520 -#define TRAINER_BRENDAN_2       521 -#define TRAINER_BRENDAN_3       522 -#define TRAINER_BRENDAN_4       523 -#define TRAINER_BRENDAN_5       524 -#define TRAINER_BRENDAN_6       525 -#define TRAINER_BRENDAN_7       526 -#define TRAINER_BRENDAN_8       527 -#define TRAINER_BRENDAN_9       528 -#define TRAINER_MAY_1           529 -#define TRAINER_MAY_2           530 -#define TRAINER_MAY_3           531 -#define TRAINER_MAY_4           532 -#define TRAINER_MAY_5           533 -#define TRAINER_MAY_6           534 -#define TRAINER_MAY_7           535 -#define TRAINER_MAY_8           536 -#define TRAINER_MAY_9           537 -#define TRAINER_ISAAC_1         538 -#define TRAINER_DAVIS           539 -#define TRAINER_MITCHELL        540 -#define TRAINER_ISAAC_2         541 -#define TRAINER_ISAAC_3         542 -#define TRAINER_ISAAC_4         543 -#define TRAINER_ISAAC_5         544 -#define TRAINER_LYDIA_1         545 -#define TRAINER_HALLE           546 -#define TRAINER_GARRISON        547 -#define TRAINER_LYDIA_2         548 -#define TRAINER_LYDIA_3         549 -#define TRAINER_LYDIA_4         550 -#define TRAINER_LYDIA_5         551 -#define TRAINER_JACKSON_1       552 -#define TRAINER_LORENZO         553 -#define TRAINER_SEBASTIAN       554 -#define TRAINER_JACKSON_2       555 -#define TRAINER_JACKSON_3       556 -#define TRAINER_JACKSON_4       557 -#define TRAINER_JACKSON_5       558 -#define TRAINER_CATHERINE_1     559 -#define TRAINER_JENNA           560 -#define TRAINER_SOPHIA          561 -#define TRAINER_CATHERINE_2     562 -#define TRAINER_CATHERINE_3     563 -#define TRAINER_CATHERINE_4     564 -#define TRAINER_CATHERINE_5     565 -#define TRAINER_JULIO           566 -#define TRAINER_GRUNT_27        567 -#define TRAINER_GRUNT_28        568 -#define TRAINER_GRUNT_29        569 -#define TRAINER_GRUNT_30        570 -#define TRAINER_MARC            571 -#define TRAINER_BRENDEN         572 -#define TRAINER_LILITH          573 -#define TRAINER_CRISTIAN        574 -#define TRAINER_SYLVIA          575 -#define TRAINER_LEONARDO        576 -#define TRAINER_ATHENA          577 -#define TRAINER_HARRISON        578 -#define TRAINER_GRUNT_31        579 -#define TRAINER_CLARENCE        580 -#define TRAINER_TERRY           581 -#define TRAINER_NATE            582 -#define TRAINER_KATHLEEN        583 -#define TRAINER_CLIFFORD        584 -#define TRAINER_NICHOLAS        585 -#define TRAINER_GRUNT_32        586 -#define TRAINER_GRUNT_33        587 -#define TRAINER_GRUNT_34        588 -#define TRAINER_GRUNT_35        589 -#define TRAINER_GRUNT_36        590 -#define TRAINER_MACEY           591 -#define TRAINER_BRENDAN_10      592 -#define TRAINER_BRENDAN_11      593 -#define TRAINER_PAXTON          594 -#define TRAINER_ISABELLA        595 -#define TRAINER_GRUNT_37        596 -#define TRAINER_TABITHA_2       597 -#define TRAINER_JONATHAN        598 -#define TRAINER_BRENDAN_12      599 -#define TRAINER_MAY_10          600 -#define TRAINER_MAXIE_1         601 -#define TRAINER_MAXIE_2         602 -#define TRAINER_TIANA           603 -#define TRAINER_HALEY_1         604 -#define TRAINER_JANICE          605 -#define TRAINER_VIVI            606 -#define TRAINER_HALEY_2         607 -#define TRAINER_HALEY_3         608 -#define TRAINER_HALEY_4         609 -#define TRAINER_HALEY_5         610 -#define TRAINER_SALLY           611 -#define TRAINER_ROBIN           612 -#define TRAINER_ANDREA          613 -#define TRAINER_CRISSY          614 -#define TRAINER_RICK            615 -#define TRAINER_LYLE            616 -#define TRAINER_JOSE            617 -#define TRAINER_DOUG            618 -#define TRAINER_GREG            619 -#define TRAINER_KENT            620 -#define TRAINER_JAMES_1         621 -#define TRAINER_JAMES_2         622 -#define TRAINER_JAMES_3         623 -#define TRAINER_JAMES_4         624 -#define TRAINER_JAMES_5         625 -#define TRAINER_BRICE           626 -#define TRAINER_TRENT_1         627 -#define TRAINER_LENNY           628 -#define TRAINER_LUCAS_1         629 -#define TRAINER_ALAN            630 -#define TRAINER_CLARK           631 -#define TRAINER_ERIC            632 -#define TRAINER_LUCAS_2         633 -#define TRAINER_MIKE_1          634 -#define TRAINER_MIKE_2          635 -#define TRAINER_TRENT_2         636 -#define TRAINER_TRENT_3         637 -#define TRAINER_TRENT_4         638 -#define TRAINER_TRENT_5         639 -#define TRAINER_DEZ_AND_LUKE    640 -#define TRAINER_LEA_AND_JED     641 -#define TRAINER_KIRA_AND_DAN_1  642 -#define TRAINER_KIRA_AND_DAN_2  643 -#define TRAINER_KIRA_AND_DAN_3  644 -#define TRAINER_KIRA_AND_DAN_4  645 -#define TRAINER_KIRA_AND_DAN_5  646 -#define TRAINER_JOHANNA         647 -#define TRAINER_GERALD          648 -#define TRAINER_VIVIAN          649 -#define TRAINER_DANIELLE        650 -#define TRAINER_HIDEO           651 -#define TRAINER_KEIGO           652 -#define TRAINER_RILEY           653 -#define TRAINER_FLINT           654 -#define TRAINER_ASHLEY          655 -#define TRAINER_WALLY_2         656 -#define TRAINER_WALLY_3         657 -#define TRAINER_WALLY_4         658 -#define TRAINER_WALLY_5         659 -#define TRAINER_WALLY_6         660 -#define TRAINER_BRENDAN_13      661 -#define TRAINER_BRENDAN_14      662 -#define TRAINER_BRENDAN_15      663 -#define TRAINER_MAY_11          664 -#define TRAINER_MAY_12          665 -#define TRAINER_MAY_13          666 -#define TRAINER_JONAH           667 -#define TRAINER_HENRY           668 -#define TRAINER_ROGER           669 -#define TRAINER_ALEXA           670 -#define TRAINER_RUBEN           671 -#define TRAINER_KOJI_1          672 -#define TRAINER_WAYNE           673 -#define TRAINER_AIDAN           674 -#define TRAINER_REED            675 -#define TRAINER_TISHA           676 -#define TRAINER_TORI_AND_TIA    677 -#define TRAINER_KIM_AND_IRIS    678 -#define TRAINER_TYRA_AND_IVY    679 -#define TRAINER_MEL_AND_PAUL    680 -#define TRAINER_JOHN_AND_JAY_1  681 -#define TRAINER_JOHN_AND_JAY_2  682 -#define TRAINER_JOHN_AND_JAY_3  683 -#define TRAINER_JOHN_AND_JAY_4  684 -#define TRAINER_JOHN_AND_JAY_5  685 -#define TRAINER_RELI_AND_IAN    686 -#define TRAINER_LILA_AND_ROY_1  687 -#define TRAINER_LILA_AND_ROY_2  688 -#define TRAINER_LILA_AND_ROY_3  689 -#define TRAINER_LILA_AND_ROY_4  690 -#define TRAINER_LILA_AND_ROY_5  691 -#define TRAINER_LISA_AND_RAY    692 -#define TRAINER_CHRIS           693 -#define TRAINER_DAWSON          694 -#define TRAINER_SARAH           695 -#define TRAINER_DARIAN          696 -#define TRAINER_HAILEY          697 -#define TRAINER_CHANDLER        698 -#define TRAINER_KALEB           699 -#define TRAINER_JOSEPH          700 -#define TRAINER_ALYSSA          701 -#define TRAINER_MARCOS          702 -#define TRAINER_RHETT           703 -#define TRAINER_TYRON           704 -#define TRAINER_CELINA          705 -#define TRAINER_BIANCA          706 -#define TRAINER_HAYDEN          707 -#define TRAINER_SOPHIE          708 -#define TRAINER_COBY            709 -#define TRAINER_LAWRENCE        710 -#define TRAINER_WYATT           711 -#define TRAINER_ANGELINA        712 -#define TRAINER_KAI             713 -#define TRAINER_CHARLOTTE       714 -#define TRAINER_DEANDRE         715 -#define TRAINER_GRUNT_38        716 -#define TRAINER_GRUNT_39        717 -#define TRAINER_GRUNT_40        718 -#define TRAINER_GRUNT_41        719 -#define TRAINER_GRUNT_42        720 -#define TRAINER_GRUNT_43        721 -#define TRAINER_GRUNT_44        722 -#define TRAINER_GRUNT_45        723 -#define TRAINER_GRUNT_46        724 -#define TRAINER_GRUNT_47        725 -#define TRAINER_GRUNT_48        726 -#define TRAINER_GRUNT_49        727 -#define TRAINER_GRUNT_50        728 -#define TRAINER_GRUNT_51        729 -#define TRAINER_GRUNT_52        730 -#define TRAINER_GRUNT_53        731 -#define TRAINER_TABITHA_3       732 -#define TRAINER_DARCY           733 -#define TRAINER_MAXIE_3         734 -#define TRAINER_PETE            735 -#define TRAINER_ISABELLE        736 -#define TRAINER_ANDRES_1        737 -#define TRAINER_JOSUE           738 -#define TRAINER_CAMRON          739 -#define TRAINER_CORY_1          740 -#define TRAINER_CAROLINA        741 -#define TRAINER_ELIJAH          742 -#define TRAINER_CELIA           743 -#define TRAINER_BRYAN           744 -#define TRAINER_BRANDEN         745 -#define TRAINER_BRYANT          746 -#define TRAINER_SHAYLA          747 -#define TRAINER_KYRA            748 -#define TRAINER_JAIDEN          749 -#define TRAINER_ALIX            750 -#define TRAINER_HELENE          751 -#define TRAINER_MARLENE         752 -#define TRAINER_DEVAN           753 -#define TRAINER_JOHNSON         754 -#define TRAINER_MELINA          755 -#define TRAINER_BRANDI          756 -#define TRAINER_AISHA           757 -#define TRAINER_MAKAYLA         758 -#define TRAINER_FABIAN          759 -#define TRAINER_DAYTON          760 -#define TRAINER_RACHEL          761 -#define TRAINER_LEONEL          762 -#define TRAINER_CALLIE          763 -#define TRAINER_CALE            764 -#define TRAINER_MYLES           765 -#define TRAINER_PAT             766 -#define TRAINER_CRISTIN_1       767 -#define TRAINER_MAY_14          768 -#define TRAINER_MAY_15          769 -#define TRAINER_ROXANNE_2       770 -#define TRAINER_ROXANNE_3       771 -#define TRAINER_ROXANNE_4       772 -#define TRAINER_ROXANNE_5       773 -#define TRAINER_BRAWLY_2        774 -#define TRAINER_BRAWLY_3        775 -#define TRAINER_BRAWLY_4        776 -#define TRAINER_BRAWLY_5        777 -#define TRAINER_WATTSON_2       778 -#define TRAINER_WATTSON_3       779 -#define TRAINER_WATTSON_4       780 -#define TRAINER_WATTSON_5       781 -#define TRAINER_FLANNERY_2      782 -#define TRAINER_FLANNERY_3      783 -#define TRAINER_FLANNERY_4      784 -#define TRAINER_FLANNERY_5      785 -#define TRAINER_NORMAN_2        786 -#define TRAINER_NORMAN_3        787 -#define TRAINER_NORMAN_4        788 -#define TRAINER_NORMAN_5        789 -#define TRAINER_WINONA_2        790 -#define TRAINER_WINONA_3        791 -#define TRAINER_WINONA_4        792 -#define TRAINER_WINONA_5        793 -#define TRAINER_TATE_AND_LIZA_2 794 -#define TRAINER_TATE_AND_LIZA_3 795 -#define TRAINER_TATE_AND_LIZA_4 796 -#define TRAINER_TATE_AND_LIZA_5 797 -#define TRAINER_JUAN_2          798 -#define TRAINER_JUAN_3          799 -#define TRAINER_JUAN_4          800 -#define TRAINER_JUAN_5          801 -#define TRAINER_ANGELO          802 -#define TRAINER_DARIUS          803 -#define TRAINER_STEVEN          804 -#define TRAINER_ANABEL          805 -#define TRAINER_TUCKER          806 -#define TRAINER_SPENSER         807 -#define TRAINER_GRETA           808 -#define TRAINER_NOLAND          809 -#define TRAINER_LUCY            810 -#define TRAINER_BRANDON         811 -#define TRAINER_ANDRES_2        812 -#define TRAINER_ANDRES_3        813 -#define TRAINER_ANDRES_4        814 -#define TRAINER_ANDRES_5        815 -#define TRAINER_CORY_2          816 -#define TRAINER_CORY_3          817 -#define TRAINER_CORY_4          818 -#define TRAINER_CORY_5          819 -#define TRAINER_PABLO_2         820 -#define TRAINER_PABLO_3         821 -#define TRAINER_PABLO_4         822 -#define TRAINER_PABLO_5         823 -#define TRAINER_KOJI_2          824 -#define TRAINER_KOJI_3          825 -#define TRAINER_KOJI_4          826 -#define TRAINER_KOJI_5          827 -#define TRAINER_CRISTIN_2       828 -#define TRAINER_CRISTIN_3       829 -#define TRAINER_CRISTIN_4       830 -#define TRAINER_CRISTIN_5       831 -#define TRAINER_FERNANDO_2      832 -#define TRAINER_FERNANDO_3      833 -#define TRAINER_FERNANDO_4      834 -#define TRAINER_FERNANDO_5      835 -#define TRAINER_SAWYER_2        836 -#define TRAINER_SAWYER_3        837 -#define TRAINER_SAWYER_4        838 -#define TRAINER_SAWYER_5        839 -#define TRAINER_GABRIELLE_2     840 -#define TRAINER_GABRIELLE_3     841 -#define TRAINER_GABRIELLE_4     842 -#define TRAINER_GABRIELLE_5     843 -#define TRAINER_THALIA_2        844 -#define TRAINER_THALIA_3        845 -#define TRAINER_THALIA_4        846 -#define TRAINER_THALIA_5        847 -#define TRAINER_MARIELA         848 -#define TRAINER_ALVARO          849 -#define TRAINER_EVERETT         850 -#define TRAINER_RED             851 -#define TRAINER_LEAF            852 -#define TRAINER_BRENDAN_16      853 -#define TRAINER_MAY_16          854 +#define TRAINER_NONE                          0 +#define TRAINER_SAWYER_1                      1 +#define TRAINER_GRUNT_AQUA_HIDEOUT_1          2 +#define TRAINER_GRUNT_AQUA_HIDEOUT_2          3 +#define TRAINER_GRUNT_AQUA_HIDEOUT_3          4 +#define TRAINER_GRUNT_AQUA_HIDEOUT_4          5 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_1       6 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_2       7 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_3       8 +#define TRAINER_GABRIELLE_1                   9 +#define TRAINER_GRUNT_PETALBURG_WOODS        10 +#define TRAINER_MARCEL                       11 +#define TRAINER_ALBERTO                      12 +#define TRAINER_ED                           13 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_4      14 +#define TRAINER_DECLAN                       15 +#define TRAINER_GRUNT_RUSTURF_TUNNEL         16 +#define TRAINER_GRUNT_WEATHER_INST_1         17 +#define TRAINER_GRUNT_WEATHER_INST_2         18 +#define TRAINER_GRUNT_WEATHER_INST_3         19 +#define TRAINER_GRUNT_MUSEUM_1               20 +#define TRAINER_GRUNT_MUSEUM_2               21 +#define TRAINER_GRUNT_SPACE_CENTER_1         22 +#define TRAINER_GRUNT_MT_PYRE_1              23 +#define TRAINER_GRUNT_MT_PYRE_2              24 +#define TRAINER_GRUNT_MT_PYRE_3              25 +#define TRAINER_GRUNT_WEATHER_INST_4         26 +#define TRAINER_GRUNT_AQUA_HIDEOUT_5         27 +#define TRAINER_GRUNT_AQUA_HIDEOUT_6         28 +#define TRAINER_FREDRICK                     29 +#define TRAINER_MATT                         30 +#define TRAINER_ZANDER                       31 +#define TRAINER_SHELLY_WEATHER_INSTITUTE     32 +#define TRAINER_SHELLY_SEAFLOOR_CAVERN       33 +#define TRAINER_ARCHIE                       34 +#define TRAINER_LEAH                         35 +#define TRAINER_DAISY                        36 +#define TRAINER_ROSE_1                       37 +#define TRAINER_FELIX                        38 +#define TRAINER_VIOLET                       39 +#define TRAINER_ROSE_2                       40 +#define TRAINER_ROSE_3                       41 +#define TRAINER_ROSE_4                       42 +#define TRAINER_ROSE_5                       43 +#define TRAINER_DUSTY_1                      44 +#define TRAINER_CHIP                         45 +#define TRAINER_FOSTER                       46 +#define TRAINER_DUSTY_2                      47 +#define TRAINER_DUSTY_3                      48 +#define TRAINER_DUSTY_4                      49 +#define TRAINER_DUSTY_5                      50 +#define TRAINER_GABBY_AND_TY_1               51 +#define TRAINER_GABBY_AND_TY_2               52 +#define TRAINER_GABBY_AND_TY_3               53 +#define TRAINER_GABBY_AND_TY_4               54 +#define TRAINER_GABBY_AND_TY_5               55 +#define TRAINER_GABBY_AND_TY_6               56 +#define TRAINER_LOLA_1                       57 +#define TRAINER_AUSTINA                      58 +#define TRAINER_GWEN                         59 +#define TRAINER_LOLA_2                       60 +#define TRAINER_LOLA_3                       61 +#define TRAINER_LOLA_4                       62 +#define TRAINER_LOLA_5                       63 +#define TRAINER_RICKY_1                      64 +#define TRAINER_SIMON                        65 +#define TRAINER_CHARLIE                      66 +#define TRAINER_RICKY_2                      67 +#define TRAINER_RICKY_3                      68 +#define TRAINER_RICKY_4                      69 +#define TRAINER_RICKY_5                      70 +#define TRAINER_RANDALL                      71 +#define TRAINER_PARKER                       72 +#define TRAINER_GEORGE                       73 +#define TRAINER_BERKE                        74 +#define TRAINER_BRAXTON                      75 +#define TRAINER_VINCENT                      76 +#define TRAINER_LEROY                        77 +#define TRAINER_WILTON_1                     78 +#define TRAINER_EDGAR                        79 +#define TRAINER_ALBERT                       80 +#define TRAINER_SAMUEL                       81 +#define TRAINER_VITO                         82 +#define TRAINER_OWEN                         83 +#define TRAINER_WILTON_2                     84 +#define TRAINER_WILTON_3                     85 +#define TRAINER_WILTON_4                     86 +#define TRAINER_WILTON_5                     87 +#define TRAINER_WARREN                       88 +#define TRAINER_MARY                         89 +#define TRAINER_ALEXIA                       90 +#define TRAINER_JODY                         91 +#define TRAINER_WENDY                        92 +#define TRAINER_KEIRA                        93 +#define TRAINER_BROOKE_1                     94 +#define TRAINER_JENNIFER                     95 +#define TRAINER_HOPE                         96 +#define TRAINER_SHANNON                      97 +#define TRAINER_MICHELLE                     98 +#define TRAINER_CAROLINE                     99 +#define TRAINER_JULIE                       100 +#define TRAINER_BROOKE_2                    101 +#define TRAINER_BROOKE_3                    102 +#define TRAINER_BROOKE_4                    103 +#define TRAINER_BROOKE_5                    104 +#define TRAINER_PATRICIA                    105 +#define TRAINER_KINDRA                      106 +#define TRAINER_TAMMY                       107 +#define TRAINER_VALERIE_1                   108 +#define TRAINER_TASHA                       109 +#define TRAINER_VALERIE_2                   110 +#define TRAINER_VALERIE_3                   111 +#define TRAINER_VALERIE_4                   112 +#define TRAINER_VALERIE_5                   113 +#define TRAINER_CINDY_1                     114 +#define TRAINER_DAPHNE                      115 +#define TRAINER_GRUNT_SPACE_CENTER_2        116 +#define TRAINER_CINDY_2                     117 +#define TRAINER_BRIANNA                     118 +#define TRAINER_NAOMI                       119 +#define TRAINER_CINDY_3                     120 +#define TRAINER_CINDY_4                     121 +#define TRAINER_CINDY_5                     122 +#define TRAINER_CINDY_6                     123 +#define TRAINER_MELISSA                     124 +#define TRAINER_SHEILA                      125 +#define TRAINER_SHIRLEY                     126 +#define TRAINER_JESSICA_1                   127 +#define TRAINER_CONNIE                      128 +#define TRAINER_BRIDGET                     129 +#define TRAINER_OLIVIA                      130 +#define TRAINER_TIFFANY                     131 +#define TRAINER_JESSICA_2                   132 +#define TRAINER_JESSICA_3                   133 +#define TRAINER_JESSICA_4                   134 +#define TRAINER_JESSICA_5                   135 +#define TRAINER_WINSTON_1                   136 +#define TRAINER_MOLLIE                      137 +#define TRAINER_GARRET                      138 +#define TRAINER_WINSTON_2                   139 +#define TRAINER_WINSTON_3                   140 +#define TRAINER_WINSTON_4                   141 +#define TRAINER_WINSTON_5                   142 +#define TRAINER_STEVE_1                     143 +#define TRAINER_THALIA_1                    144 +#define TRAINER_MARK                        145 +#define TRAINER_GRUNT_MT_CHIMNEY_1          146 +#define TRAINER_STEVE_2                     147 +#define TRAINER_STEVE_3                     148 +#define TRAINER_STEVE_4                     149 +#define TRAINER_STEVE_5                     150 +#define TRAINER_LUIS                        151 +#define TRAINER_DOMINIK                     152 +#define TRAINER_DOUGLAS                     153 +#define TRAINER_DARRIN                      154 +#define TRAINER_TONY_1                      155 +#define TRAINER_JEROME                      156 +#define TRAINER_MATTHEW                     157 +#define TRAINER_DAVID                       158 +#define TRAINER_SPENCER                     159 +#define TRAINER_ROLAND                      160 +#define TRAINER_NOLEN                       161 +#define TRAINER_STAN                        162 +#define TRAINER_BARRY                       163 +#define TRAINER_DEAN                        164 +#define TRAINER_RODNEY                      165 +#define TRAINER_RICHARD                     166 +#define TRAINER_HERMAN                      167 +#define TRAINER_SANTIAGO                    168 +#define TRAINER_GILBERT                     169 +#define TRAINER_FRANKLIN                    170 +#define TRAINER_KEVIN                       171 +#define TRAINER_JACK                        172 +#define TRAINER_DUDLEY                      173 +#define TRAINER_CHAD                        174 +#define TRAINER_TONY_2                      175 +#define TRAINER_TONY_3                      176 +#define TRAINER_TONY_4                      177 +#define TRAINER_TONY_5                      178 +#define TRAINER_TAKAO                       179 +#define TRAINER_HITOSHI                     180 +#define TRAINER_KIYO                        181 +#define TRAINER_KOICHI                      182 +#define TRAINER_NOB_1                       183 +#define TRAINER_NOB_2                       184 +#define TRAINER_NOB_3                       185 +#define TRAINER_NOB_4                       186 +#define TRAINER_NOB_5                       187 +#define TRAINER_YUJI                        188 +#define TRAINER_DAISUKE                     189 +#define TRAINER_ATSUSHI                     190 +#define TRAINER_KIRK                        191 +#define TRAINER_GRUNT_AQUA_HIDEOUT_7        192 +#define TRAINER_GRUNT_AQUA_HIDEOUT_8        193 +#define TRAINER_SHAWN                       194 +#define TRAINER_FERNANDO_1                  195 +#define TRAINER_DALTON_1                    196 +#define TRAINER_DALTON_2                    197 +#define TRAINER_DALTON_3                    198 +#define TRAINER_DALTON_4                    199 +#define TRAINER_DALTON_5                    200 +#define TRAINER_COLE                        201 +#define TRAINER_JEFF                        202 +#define TRAINER_AXLE                        203 +#define TRAINER_JACE                        204 +#define TRAINER_KEEGAN                      205 +#define TRAINER_BERNIE_1                    206 +#define TRAINER_BERNIE_2                    207 +#define TRAINER_BERNIE_3                    208 +#define TRAINER_BERNIE_4                    209 +#define TRAINER_BERNIE_5                    210 +#define TRAINER_DREW                        211 +#define TRAINER_BEAU                        212 +#define TRAINER_LARRY                       213 +#define TRAINER_SHANE                       214 +#define TRAINER_JUSTIN                      215 +#define TRAINER_ETHAN_1                     216 +#define TRAINER_AUTUMN                      217 +#define TRAINER_TRAVIS                      218 +#define TRAINER_ETHAN_2                     219 +#define TRAINER_ETHAN_3                     220 +#define TRAINER_ETHAN_4                     221 +#define TRAINER_ETHAN_5                     222 +#define TRAINER_BRENT                       223 +#define TRAINER_DONALD                      224 +#define TRAINER_TAYLOR                      225 +#define TRAINER_JEFFREY_1                   226 +#define TRAINER_DEREK                       227 +#define TRAINER_JEFFREY_2                   228 +#define TRAINER_JEFFREY_3                   229 +#define TRAINER_JEFFREY_4                   230 +#define TRAINER_JEFFREY_5                   231 +#define TRAINER_EDWARD                      232 +#define TRAINER_PRESTON                     233 +#define TRAINER_VIRGIL                      234 +#define TRAINER_BLAKE                       235 +#define TRAINER_WILLIAM                     236 +#define TRAINER_JOSHUA                      237 +#define TRAINER_CAMERON_1                   238 +#define TRAINER_CAMERON_2                   239 +#define TRAINER_CAMERON_3                   240 +#define TRAINER_CAMERON_4                   241 +#define TRAINER_CAMERON_5                   242 +#define TRAINER_JACLYN                      243 +#define TRAINER_HANNAH                      244 +#define TRAINER_SAMANTHA                    245 +#define TRAINER_MAURA                       246 +#define TRAINER_KAYLA                       247 +#define TRAINER_ALEXIS                      248 +#define TRAINER_JACKI_1                     249 +#define TRAINER_JACKI_2                     250 +#define TRAINER_JACKI_3                     251 +#define TRAINER_JACKI_4                     252 +#define TRAINER_JACKI_5                     253 +#define TRAINER_WALTER_1                    254 +#define TRAINER_MICAH                       255 +#define TRAINER_THOMAS                      256 +#define TRAINER_WALTER_2                    257 +#define TRAINER_WALTER_3                    258 +#define TRAINER_WALTER_4                    259 +#define TRAINER_WALTER_5                    260 +#define TRAINER_SIDNEY                      261 +#define TRAINER_PHOEBE                      262 +#define TRAINER_GLACIA                      263 +#define TRAINER_DRAKE                       264 +#define TRAINER_ROXANNE_1                   265 +#define TRAINER_BRAWLY_1                    266 +#define TRAINER_WATTSON_1                   267 +#define TRAINER_FLANNERY_1                  268 +#define TRAINER_NORMAN_1                    269 +#define TRAINER_WINONA_1                    270 +#define TRAINER_TATE_AND_LIZA_1             271 +#define TRAINER_JUAN_1                      272 +#define TRAINER_JERRY_1                     273 +#define TRAINER_TED                         274 +#define TRAINER_PAUL                        275 +#define TRAINER_JERRY_2                     276 +#define TRAINER_JERRY_3                     277 +#define TRAINER_JERRY_4                     278 +#define TRAINER_JERRY_5                     279 +#define TRAINER_KAREN_1                     280 +#define TRAINER_GEORGIA                     281 +#define TRAINER_KAREN_2                     282 +#define TRAINER_KAREN_3                     283 +#define TRAINER_KAREN_4                     284 +#define TRAINER_KAREN_5                     285 +#define TRAINER_KATE_AND_JOY                286 +#define TRAINER_ANNA_AND_MEG_1              287 +#define TRAINER_ANNA_AND_MEG_2              288 +#define TRAINER_ANNA_AND_MEG_3              289 +#define TRAINER_ANNA_AND_MEG_4              290 +#define TRAINER_ANNA_AND_MEG_5              291 +#define TRAINER_VICTOR                      292 +#define TRAINER_MIGUEL_1                    293 +#define TRAINER_COLTON                      294 +#define TRAINER_MIGUEL_2                    295 +#define TRAINER_MIGUEL_3                    296 +#define TRAINER_MIGUEL_4                    297 +#define TRAINER_MIGUEL_5                    298 +#define TRAINER_VICTORIA                    299 +#define TRAINER_VANESSA                     300 +#define TRAINER_BETHANY                     301 +#define TRAINER_ISABEL_1                    302 +#define TRAINER_ISABEL_2                    303 +#define TRAINER_ISABEL_3                    304 +#define TRAINER_ISABEL_4                    305 +#define TRAINER_ISABEL_5                    306 +#define TRAINER_TIMOTHY_1                   307 +#define TRAINER_TIMOTHY_2                   308 +#define TRAINER_TIMOTHY_3                   309 +#define TRAINER_TIMOTHY_4                   310 +#define TRAINER_TIMOTHY_5                   311 +#define TRAINER_VICKY                       312 +#define TRAINER_SHELBY_1                    313 +#define TRAINER_SHELBY_2                    314 +#define TRAINER_SHELBY_3                    315 +#define TRAINER_SHELBY_4                    316 +#define TRAINER_SHELBY_5                    317 +#define TRAINER_CALVIN_1                    318 +#define TRAINER_BILLY                       319 +#define TRAINER_JOSH                        320 +#define TRAINER_TOMMY                       321 +#define TRAINER_JOEY                        322 +#define TRAINER_BEN                         323 +#define TRAINER_QUINCY                      324 +#define TRAINER_KATELYNN                    325 +#define TRAINER_JAYLEN                      326 +#define TRAINER_DILLON                      327 +#define TRAINER_CALVIN_2                    328 +#define TRAINER_CALVIN_3                    329 +#define TRAINER_CALVIN_4                    330 +#define TRAINER_CALVIN_5                    331 +#define TRAINER_EDDIE                       332 +#define TRAINER_ALLEN                       333 +#define TRAINER_TIMMY                       334 +#define TRAINER_WALLACE                     335 +#define TRAINER_ANDREW                      336 +#define TRAINER_IVAN                        337 +#define TRAINER_CLAUDE                      338 +#define TRAINER_ELLIOT_1                    339 +#define TRAINER_NED                         340 +#define TRAINER_DALE                        341 +#define TRAINER_NOLAN                       342 +#define TRAINER_BARNY                       343 +#define TRAINER_WADE                        344 +#define TRAINER_CARTER                      345 +#define TRAINER_ELLIOT_2                    346 +#define TRAINER_ELLIOT_3                    347 +#define TRAINER_ELLIOT_4                    348 +#define TRAINER_ELLIOT_5                    349 +#define TRAINER_RONALD                      350 +#define TRAINER_JACOB                       351 +#define TRAINER_ANTHONY                     352 +#define TRAINER_BENJAMIN_1                  353 +#define TRAINER_BENJAMIN_2                  354 +#define TRAINER_BENJAMIN_3                  355 +#define TRAINER_BENJAMIN_4                  356 +#define TRAINER_BENJAMIN_5                  357 +#define TRAINER_ABIGAIL_1                   358 +#define TRAINER_JASMINE                     359 +#define TRAINER_ABIGAIL_2                   360 +#define TRAINER_ABIGAIL_3                   361 +#define TRAINER_ABIGAIL_4                   362 +#define TRAINER_ABIGAIL_5                   363 +#define TRAINER_DYLAN_1                     364 +#define TRAINER_DYLAN_2                     365 +#define TRAINER_DYLAN_3                     366 +#define TRAINER_DYLAN_4                     367 +#define TRAINER_DYLAN_5                     368 +#define TRAINER_MARIA_1                     369 +#define TRAINER_MARIA_2                     370 +#define TRAINER_MARIA_3                     371 +#define TRAINER_MARIA_4                     372 +#define TRAINER_MARIA_5                     373 +#define TRAINER_CAMDEN                      374 +#define TRAINER_DEMETRIUS                   375 +#define TRAINER_ISAIAH_1                    376 +#define TRAINER_PABLO_1                     377 +#define TRAINER_CHASE                       378 +#define TRAINER_ISAIAH_2                    379 +#define TRAINER_ISAIAH_3                    380 +#define TRAINER_ISAIAH_4                    381 +#define TRAINER_ISAIAH_5                    382 +#define TRAINER_ISOBEL                      383 +#define TRAINER_DONNY                       384 +#define TRAINER_TALIA                       385 +#define TRAINER_KATELYN_1                   386 +#define TRAINER_ALLISON                     387 +#define TRAINER_KATELYN_2                   388 +#define TRAINER_KATELYN_3                   389 +#define TRAINER_KATELYN_4                   390 +#define TRAINER_KATELYN_5                   391 +#define TRAINER_NICOLAS_1                   392 +#define TRAINER_NICOLAS_2                   393 +#define TRAINER_NICOLAS_3                   394 +#define TRAINER_NICOLAS_4                   395 +#define TRAINER_NICOLAS_5                   396 +#define TRAINER_AARON                       397 +#define TRAINER_PERRY                       398 +#define TRAINER_HUGH                        399 +#define TRAINER_PHIL                        400 +#define TRAINER_JARED                       401 +#define TRAINER_HUMBERTO                    402 +#define TRAINER_PRESLEY                     403 +#define TRAINER_EDWARDO                     404 +#define TRAINER_COLIN                       405 +#define TRAINER_ROBERT_1                    406 +#define TRAINER_BENNY                       407 +#define TRAINER_CHESTER                     408 +#define TRAINER_ROBERT_2                    409 +#define TRAINER_ROBERT_3                    410 +#define TRAINER_ROBERT_4                    411 +#define TRAINER_ROBERT_5                    412 +#define TRAINER_ALEX                        413 +#define TRAINER_BECK                        414 +#define TRAINER_YASU                        415 +#define TRAINER_TAKASHI                     416 +#define TRAINER_DIANNE                      417 +#define TRAINER_JANI                        418 +#define TRAINER_LAO_1                       419 +#define TRAINER_LUNG                        420 +#define TRAINER_LAO_2                       421 +#define TRAINER_LAO_3                       422 +#define TRAINER_LAO_4                       423 +#define TRAINER_LAO_5                       424 +#define TRAINER_JOCELYN                     425 +#define TRAINER_LAURA                       426 +#define TRAINER_CYNDY_1                     427 +#define TRAINER_CORA                        428 +#define TRAINER_PAULA                       429 +#define TRAINER_CYNDY_2                     430 +#define TRAINER_CYNDY_3                     431 +#define TRAINER_CYNDY_4                     432 +#define TRAINER_CYNDY_5                     433 +#define TRAINER_MADELINE_1                  434 +#define TRAINER_CLARISSA                    435 +#define TRAINER_ANGELICA                    436 +#define TRAINER_MADELINE_2                  437 +#define TRAINER_MADELINE_3                  438 +#define TRAINER_MADELINE_4                  439 +#define TRAINER_MADELINE_5                  440 +#define TRAINER_BEVERLY                     441 +#define TRAINER_IMANI                       442 +#define TRAINER_KYLA                        443 +#define TRAINER_DENISE                      444 +#define TRAINER_BETH                        445 +#define TRAINER_TARA                        446 +#define TRAINER_MISSY                       447 +#define TRAINER_ALICE                       448 +#define TRAINER_JENNY_1                     449 +#define TRAINER_GRACE                       450 +#define TRAINER_TANYA                       451 +#define TRAINER_SHARON                      452 +#define TRAINER_NIKKI                       453 +#define TRAINER_BRENDA                      454 +#define TRAINER_KATIE                       455 +#define TRAINER_SUSIE                       456 +#define TRAINER_KARA                        457 +#define TRAINER_DANA                        458 +#define TRAINER_SIENNA                      459 +#define TRAINER_DEBRA                       460 +#define TRAINER_LINDA                       461 +#define TRAINER_KAYLEE                      462 +#define TRAINER_LAUREL                      463 +#define TRAINER_CARLEE                      464 +#define TRAINER_JENNY_2                     465 +#define TRAINER_JENNY_3                     466 +#define TRAINER_JENNY_4                     467 +#define TRAINER_JENNY_5                     468 +#define TRAINER_HEIDI                       469 +#define TRAINER_BECKY                       470 +#define TRAINER_CAROL                       471 +#define TRAINER_NANCY                       472 +#define TRAINER_MARTHA                      473 +#define TRAINER_DIANA_1                     474 +#define TRAINER_CEDRIC                      475 +#define TRAINER_IRENE                       476 +#define TRAINER_DIANA_2                     477 +#define TRAINER_DIANA_3                     478 +#define TRAINER_DIANA_4                     479 +#define TRAINER_DIANA_5                     480 +#define TRAINER_AMY_AND_LIV_1               481 +#define TRAINER_AMY_AND_LIV_2               482 +#define TRAINER_GINA_AND_MIA_1              483 +#define TRAINER_MIU_AND_YUKI                484 +#define TRAINER_AMY_AND_LIV_3               485 +#define TRAINER_GINA_AND_MIA_2              486 +#define TRAINER_AMY_AND_LIV_4               487 +#define TRAINER_AMY_AND_LIV_5               488 +#define TRAINER_AMY_AND_LIV_6               489 +#define TRAINER_HUEY                        490 +#define TRAINER_EDMOND                      491 +#define TRAINER_ERNEST_1                    492 +#define TRAINER_DWAYNE                      493 +#define TRAINER_PHILLIP                     494 +#define TRAINER_LEONARD                     495 +#define TRAINER_DUNCAN                      496 +#define TRAINER_ERNEST_2                    497 +#define TRAINER_ERNEST_3                    498 +#define TRAINER_ERNEST_4                    499 +#define TRAINER_ERNEST_5                    500 +#define TRAINER_ELI                         501 +#define TRAINER_ANNIKA                      502 +#define TRAINER_JAZMYN                      503 +#define TRAINER_JONAS                       504 +#define TRAINER_KAYLEY                      505 +#define TRAINER_AURON                       506 +#define TRAINER_KELVIN                      507 +#define TRAINER_MARLEY                      508 +#define TRAINER_REYNA                       509 +#define TRAINER_HUDSON                      510 +#define TRAINER_CONOR                       511 +#define TRAINER_EDWIN_1                     512 +#define TRAINER_HECTOR                      513 +#define TRAINER_TABITHA_MOSSDEEP            514 +#define TRAINER_EDWIN_2                     515 +#define TRAINER_EDWIN_3                     516 +#define TRAINER_EDWIN_4                     517 +#define TRAINER_EDWIN_5                     518 +#define TRAINER_WALLY_VR_1                  519 +#define TRAINER_BRENDAN_ROUTE_103_MUDKIP    520 +#define TRAINER_BRENDAN_ROUTE_110_MUDKIP    521 +#define TRAINER_BRENDAN_ROUTE_119_MUDKIP    522 +#define TRAINER_BRENDAN_ROUTE_103_TREECKO   523 +#define TRAINER_BRENDAN_ROUTE_110_TREECKO   524 +#define TRAINER_BRENDAN_ROUTE_119_TREECKO   525 +#define TRAINER_BRENDAN_ROUTE_103_TORCHIC   526 +#define TRAINER_BRENDAN_ROUTE_110_TORCHIC   527 +#define TRAINER_BRENDAN_ROUTE_119_TORCHIC   528 +#define TRAINER_MAY_ROUTE_103_MUDKIP        529 +#define TRAINER_MAY_ROUTE_110_MUDKIP        530 +#define TRAINER_MAY_ROUTE_119_MUDKIP        531 +#define TRAINER_MAY_ROUTE_103_TREECKO       532 +#define TRAINER_MAY_ROUTE_110_TREECKO       533 +#define TRAINER_MAY_ROUTE_119_TREECKO       534 +#define TRAINER_MAY_ROUTE_103_TORCHIC       535 +#define TRAINER_MAY_ROUTE_110_TORCHIC       536 +#define TRAINER_MAY_ROUTE_119_TORCHIC       537 +#define TRAINER_ISAAC_1                     538 +#define TRAINER_DAVIS                       539 +#define TRAINER_MITCHELL                    540 +#define TRAINER_ISAAC_2                     541 +#define TRAINER_ISAAC_3                     542 +#define TRAINER_ISAAC_4                     543 +#define TRAINER_ISAAC_5                     544 +#define TRAINER_LYDIA_1                     545 +#define TRAINER_HALLE                       546 +#define TRAINER_GARRISON                    547 +#define TRAINER_LYDIA_2                     548 +#define TRAINER_LYDIA_3                     549 +#define TRAINER_LYDIA_4                     550 +#define TRAINER_LYDIA_5                     551 +#define TRAINER_JACKSON_1                   552 +#define TRAINER_LORENZO                     553 +#define TRAINER_SEBASTIAN                   554 +#define TRAINER_JACKSON_2                   555 +#define TRAINER_JACKSON_3                   556 +#define TRAINER_JACKSON_4                   557 +#define TRAINER_JACKSON_5                   558 +#define TRAINER_CATHERINE_1                 559 +#define TRAINER_JENNA                       560 +#define TRAINER_SOPHIA                      561 +#define TRAINER_CATHERINE_2                 562 +#define TRAINER_CATHERINE_3                 563 +#define TRAINER_CATHERINE_4                 564 +#define TRAINER_CATHERINE_5                 565 +#define TRAINER_JULIO                       566 +#define TRAINER_GRUNT_SEAFLOOR_CAVERN_5     567 +#define TRAINER_GRUNT_UNUSED                568 +#define TRAINER_GRUNT_MT_PYRE_4             569 +#define TRAINER_GRUNT_JAGGED_PASS           570 +#define TRAINER_MARC                        571 +#define TRAINER_BRENDEN                     572 +#define TRAINER_LILITH                      573 +#define TRAINER_CRISTIAN                    574 +#define TRAINER_SYLVIA                      575 +#define TRAINER_LEONARDO                    576 +#define TRAINER_ATHENA                      577 +#define TRAINER_HARRISON                    578 +#define TRAINER_GRUNT_MT_CHIMNEY_2          579 +#define TRAINER_CLARENCE                    580 +#define TRAINER_TERRY                       581 +#define TRAINER_NATE                        582 +#define TRAINER_KATHLEEN                    583 +#define TRAINER_CLIFFORD                    584 +#define TRAINER_NICHOLAS                    585 +#define TRAINER_GRUNT_SPACE_CENTER_3        586 +#define TRAINER_GRUNT_SPACE_CENTER_4        587 +#define TRAINER_GRUNT_SPACE_CENTER_5        588 +#define TRAINER_GRUNT_SPACE_CENTER_6        589 +#define TRAINER_GRUNT_SPACE_CENTER_7        590 +#define TRAINER_MACEY                       591 +#define TRAINER_BRENDAN_RUSTBORO_TREECKO    592 +#define TRAINER_BRENDAN_RUSTBORO_MUDKIP     593 +#define TRAINER_PAXTON                      594 +#define TRAINER_ISABELLA                    595 +#define TRAINER_GRUNT_WEATHER_INST_5        596 +#define TRAINER_TABITHA_MT_CHIMNEY          597 +#define TRAINER_JONATHAN                    598 +#define TRAINER_BRENDAN_RUSTBORO_TORCHIC    599 +#define TRAINER_MAY_RUSTBORO_MUDKIP         600 +#define TRAINER_MAXIE_MAGMA_HIDEOUT         601 +#define TRAINER_MAXIE_MT_CHIMNEY            602 +#define TRAINER_TIANA                       603 +#define TRAINER_HALEY_1                     604 +#define TRAINER_JANICE                      605 +#define TRAINER_VIVI                        606 +#define TRAINER_HALEY_2                     607 +#define TRAINER_HALEY_3                     608 +#define TRAINER_HALEY_4                     609 +#define TRAINER_HALEY_5                     610 +#define TRAINER_SALLY                       611 +#define TRAINER_ROBIN                       612 +#define TRAINER_ANDREA                      613 +#define TRAINER_CRISSY                      614 +#define TRAINER_RICK                        615 +#define TRAINER_LYLE                        616 +#define TRAINER_JOSE                        617 +#define TRAINER_DOUG                        618 +#define TRAINER_GREG                        619 +#define TRAINER_KENT                        620 +#define TRAINER_JAMES_1                     621 +#define TRAINER_JAMES_2                     622 +#define TRAINER_JAMES_3                     623 +#define TRAINER_JAMES_4                     624 +#define TRAINER_JAMES_5                     625 +#define TRAINER_BRICE                       626 +#define TRAINER_TRENT_1                     627 +#define TRAINER_LENNY                       628 +#define TRAINER_LUCAS_1                     629 +#define TRAINER_ALAN                        630 +#define TRAINER_CLARK                       631 +#define TRAINER_ERIC                        632 +#define TRAINER_LUCAS_2                     633 +#define TRAINER_MIKE_1                      634 +#define TRAINER_MIKE_2                      635 +#define TRAINER_TRENT_2                     636 +#define TRAINER_TRENT_3                     637 +#define TRAINER_TRENT_4                     638 +#define TRAINER_TRENT_5                     639 +#define TRAINER_DEZ_AND_LUKE                640 +#define TRAINER_LEA_AND_JED                 641 +#define TRAINER_KIRA_AND_DAN_1              642 +#define TRAINER_KIRA_AND_DAN_2              643 +#define TRAINER_KIRA_AND_DAN_3              644 +#define TRAINER_KIRA_AND_DAN_4              645 +#define TRAINER_KIRA_AND_DAN_5              646 +#define TRAINER_JOHANNA                     647 +#define TRAINER_GERALD                      648 +#define TRAINER_VIVIAN                      649 +#define TRAINER_DANIELLE                    650 +#define TRAINER_HIDEO                       651 +#define TRAINER_KEIGO                       652 +#define TRAINER_RILEY                       653 +#define TRAINER_FLINT                       654 +#define TRAINER_ASHLEY                      655 +#define TRAINER_WALLY_MAUVILLE              656 +#define TRAINER_WALLY_VR_2                  657 +#define TRAINER_WALLY_VR_3                  658 +#define TRAINER_WALLY_VR_4                  659 +#define TRAINER_WALLY_VR_5                  660 +#define TRAINER_BRENDAN_LILYCOVE_MUDKIP     661 +#define TRAINER_BRENDAN_LILYCOVE_TREECKO    662 +#define TRAINER_BRENDAN_LILYCOVE_TORCHIC    663 +#define TRAINER_MAY_LILYCOVE_MUDKIP         664 +#define TRAINER_MAY_LILYCOVE_TREECKO        665 +#define TRAINER_MAY_LILYCOVE_TORCHIC        666 +#define TRAINER_JONAH                       667 +#define TRAINER_HENRY                       668 +#define TRAINER_ROGER                       669 +#define TRAINER_ALEXA                       670 +#define TRAINER_RUBEN                       671 +#define TRAINER_KOJI_1                      672 +#define TRAINER_WAYNE                       673 +#define TRAINER_AIDAN                       674 +#define TRAINER_REED                        675 +#define TRAINER_TISHA                       676 +#define TRAINER_TORI_AND_TIA                677 +#define TRAINER_KIM_AND_IRIS                678 +#define TRAINER_TYRA_AND_IVY                679 +#define TRAINER_MEL_AND_PAUL                680 +#define TRAINER_JOHN_AND_JAY_1              681 +#define TRAINER_JOHN_AND_JAY_2              682 +#define TRAINER_JOHN_AND_JAY_3              683 +#define TRAINER_JOHN_AND_JAY_4              684 +#define TRAINER_JOHN_AND_JAY_5              685 +#define TRAINER_RELI_AND_IAN                686 +#define TRAINER_LILA_AND_ROY_1              687 +#define TRAINER_LILA_AND_ROY_2              688 +#define TRAINER_LILA_AND_ROY_3              689 +#define TRAINER_LILA_AND_ROY_4              690 +#define TRAINER_LILA_AND_ROY_5              691 +#define TRAINER_LISA_AND_RAY                692 +#define TRAINER_CHRIS                       693 +#define TRAINER_DAWSON                      694 +#define TRAINER_SARAH                       695 +#define TRAINER_DARIAN                      696 +#define TRAINER_HAILEY                      697 +#define TRAINER_CHANDLER                    698 +#define TRAINER_KALEB                       699 +#define TRAINER_JOSEPH                      700 +#define TRAINER_ALYSSA                      701 +#define TRAINER_MARCOS                      702 +#define TRAINER_RHETT                       703 +#define TRAINER_TYRON                       704 +#define TRAINER_CELINA                      705 +#define TRAINER_BIANCA                      706 +#define TRAINER_HAYDEN                      707 +#define TRAINER_SOPHIE                      708 +#define TRAINER_COBY                        709 +#define TRAINER_LAWRENCE                    710 +#define TRAINER_WYATT                       711 +#define TRAINER_ANGELINA                    712 +#define TRAINER_KAI                         713 +#define TRAINER_CHARLOTTE                   714 +#define TRAINER_DEANDRE                     715 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_1       716 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_2       717 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_3       718 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_4       719 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_5       720 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_6       721 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_7       722 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_8       723 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_9       724 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_10      725 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_11      726 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_12      727 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_13      728 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_14      729 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_15      730 +#define TRAINER_GRUNT_MAGMA_HIDEOUT_16      731 +#define TRAINER_TABITHA_MAGMA_HIDEOUT       732 +#define TRAINER_DARCY                       733 +#define TRAINER_MAXIE_MOSSDEEP              734 +#define TRAINER_PETE                        735 +#define TRAINER_ISABELLE                    736 +#define TRAINER_ANDRES_1                    737 +#define TRAINER_JOSUE                       738 +#define TRAINER_CAMRON                      739 +#define TRAINER_CORY_1                      740 +#define TRAINER_CAROLINA                    741 +#define TRAINER_ELIJAH                      742 +#define TRAINER_CELIA                       743 +#define TRAINER_BRYAN                       744 +#define TRAINER_BRANDEN                     745 +#define TRAINER_BRYANT                      746 +#define TRAINER_SHAYLA                      747 +#define TRAINER_KYRA                        748 +#define TRAINER_JAIDEN                      749 +#define TRAINER_ALIX                        750 +#define TRAINER_HELENE                      751 +#define TRAINER_MARLENE                     752 +#define TRAINER_DEVAN                       753 +#define TRAINER_JOHNSON                     754 +#define TRAINER_MELINA                      755 +#define TRAINER_BRANDI                      756 +#define TRAINER_AISHA                       757 +#define TRAINER_MAKAYLA                     758 +#define TRAINER_FABIAN                      759 +#define TRAINER_DAYTON                      760 +#define TRAINER_RACHEL                      761 +#define TRAINER_LEONEL                      762 +#define TRAINER_CALLIE                      763 +#define TRAINER_CALE                        764 +#define TRAINER_MYLES                       765 +#define TRAINER_PAT                         766 +#define TRAINER_CRISTIN_1                   767 +#define TRAINER_MAY_RUSTBORO_TREECKO        768 +#define TRAINER_MAY_RUSTBORO_TORCHIC        769 +#define TRAINER_ROXANNE_2                   770 +#define TRAINER_ROXANNE_3                   771 +#define TRAINER_ROXANNE_4                   772 +#define TRAINER_ROXANNE_5                   773 +#define TRAINER_BRAWLY_2                    774 +#define TRAINER_BRAWLY_3                    775 +#define TRAINER_BRAWLY_4                    776 +#define TRAINER_BRAWLY_5                    777 +#define TRAINER_WATTSON_2                   778 +#define TRAINER_WATTSON_3                   779 +#define TRAINER_WATTSON_4                   780 +#define TRAINER_WATTSON_5                   781 +#define TRAINER_FLANNERY_2                  782 +#define TRAINER_FLANNERY_3                  783 +#define TRAINER_FLANNERY_4                  784 +#define TRAINER_FLANNERY_5                  785 +#define TRAINER_NORMAN_2                    786 +#define TRAINER_NORMAN_3                    787 +#define TRAINER_NORMAN_4                    788 +#define TRAINER_NORMAN_5                    789 +#define TRAINER_WINONA_2                    790 +#define TRAINER_WINONA_3                    791 +#define TRAINER_WINONA_4                    792 +#define TRAINER_WINONA_5                    793 +#define TRAINER_TATE_AND_LIZA_2             794 +#define TRAINER_TATE_AND_LIZA_3             795 +#define TRAINER_TATE_AND_LIZA_4             796 +#define TRAINER_TATE_AND_LIZA_5             797 +#define TRAINER_JUAN_2                      798 +#define TRAINER_JUAN_3                      799 +#define TRAINER_JUAN_4                      800 +#define TRAINER_JUAN_5                      801 +#define TRAINER_ANGELO                      802 +#define TRAINER_DARIUS                      803 +#define TRAINER_STEVEN                      804 +#define TRAINER_ANABEL                      805 +#define TRAINER_TUCKER                      806 +#define TRAINER_SPENSER                     807 +#define TRAINER_GRETA                       808 +#define TRAINER_NOLAND                      809 +#define TRAINER_LUCY                        810 +#define TRAINER_BRANDON                     811 +#define TRAINER_ANDRES_2                    812 +#define TRAINER_ANDRES_3                    813 +#define TRAINER_ANDRES_4                    814 +#define TRAINER_ANDRES_5                    815 +#define TRAINER_CORY_2                      816 +#define TRAINER_CORY_3                      817 +#define TRAINER_CORY_4                      818 +#define TRAINER_CORY_5                      819 +#define TRAINER_PABLO_2                     820 +#define TRAINER_PABLO_3                     821 +#define TRAINER_PABLO_4                     822 +#define TRAINER_PABLO_5                     823 +#define TRAINER_KOJI_2                      824 +#define TRAINER_KOJI_3                      825 +#define TRAINER_KOJI_4                      826 +#define TRAINER_KOJI_5                      827 +#define TRAINER_CRISTIN_2                   828 +#define TRAINER_CRISTIN_3                   829 +#define TRAINER_CRISTIN_4                   830 +#define TRAINER_CRISTIN_5                   831 +#define TRAINER_FERNANDO_2                  832 +#define TRAINER_FERNANDO_3                  833 +#define TRAINER_FERNANDO_4                  834 +#define TRAINER_FERNANDO_5                  835 +#define TRAINER_SAWYER_2                    836 +#define TRAINER_SAWYER_3                    837 +#define TRAINER_SAWYER_4                    838 +#define TRAINER_SAWYER_5                    839 +#define TRAINER_GABRIELLE_2                 840 +#define TRAINER_GABRIELLE_3                 841 +#define TRAINER_GABRIELLE_4                 842 +#define TRAINER_GABRIELLE_5                 843 +#define TRAINER_THALIA_2                    844 +#define TRAINER_THALIA_3                    845 +#define TRAINER_THALIA_4                    846 +#define TRAINER_THALIA_5                    847 +#define TRAINER_MARIELA                     848 +#define TRAINER_ALVARO                      849 +#define TRAINER_EVERETT                     850 +#define TRAINER_RED                         851 +#define TRAINER_LEAF                        852 +#define TRAINER_BRENDAN_PLACEHOLDER         853 +#define TRAINER_MAY_PLACEHOLDER             854 -#define TRAINERS_COUNT          855 +// NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows +//       More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled + +#define TRAINERS_COUNT                      855 +#define MAX_TRAINERS_COUNT                  864  #endif  // GUARD_CONSTANTS_OPPONENTS_H diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h new file mode 100644 index 000000000..7953967ed --- /dev/null +++ b/include/constants/party_menu.h @@ -0,0 +1,132 @@ +#ifndef GUARD_CONSTANTS_PARTY_MENU_H +#define GUARD_CONSTANTS_PARTY_MENU_H + +#define AILMENT_NONE  0 +#define AILMENT_PSN   1 +#define AILMENT_PRZ   2 +#define AILMENT_SLP   3 +#define AILMENT_FRZ   4 +#define AILMENT_BRN   5 +#define AILMENT_PKRS  6 +#define AILMENT_FNT   7 + +#define TUTOR_MOVE_MEGA_PUNCH      0 +#define TUTOR_MOVE_SWORDS_DANCE    1 +#define TUTOR_MOVE_MEGA_KICK       2 +#define TUTOR_MOVE_BODY_SLAM       3 +#define TUTOR_MOVE_DOUBLE_EDGE     4 +#define TUTOR_MOVE_COUNTER         5 +#define TUTOR_MOVE_SEISMIC_TOSS    6 +#define TUTOR_MOVE_MIMIC           7 +#define TUTOR_MOVE_METRONOME       8 +#define TUTOR_MOVE_SOFT_BOILED     9 +#define TUTOR_MOVE_DREAM_EATER     10 +#define TUTOR_MOVE_THUNDER_WAVE    11 +#define TUTOR_MOVE_EXPLOSION       12 +#define TUTOR_MOVE_ROCK_SLIDE      13 +#define TUTOR_MOVE_SUBSTITUTE      14 +#define TUTOR_MOVE_DYNAMIC_PUNCH   15 +#define TUTOR_MOVE_ROLLOUT         16 +#define TUTOR_MOVE_PSYCH_UP        17 +#define TUTOR_MOVE_SNORE           18 +#define TUTOR_MOVE_ICY_WIND        19 +#define TUTOR_MOVE_ENDURE          20 +#define TUTOR_MOVE_MUD_SLAP        21 +#define TUTOR_MOVE_ICE_PUNCH       22 +#define TUTOR_MOVE_SWAGGER         23 +#define TUTOR_MOVE_SLEEP_TALK      24 +#define TUTOR_MOVE_SWIFT           25 +#define TUTOR_MOVE_DEFENSE_CURL    26 +#define TUTOR_MOVE_THUNDER_PUNCH   27 +#define TUTOR_MOVE_FIRE_PUNCH      28 +#define TUTOR_MOVE_FURY_CUTTER     29 +#define TUTOR_MOVE_COUNT           30 + +#define PARTY_LAYOUT_SINGLE          0 +#define PARTY_LAYOUT_DOUBLE          1 +#define PARTY_LAYOUT_MULTI           2 +#define PARTY_LAYOUT_MULTI_SHOWCASE  3  // The layout during the screen that appears just before a multi battle +#define PARTY_LAYOUT_COUNT           4 +#define KEEP_PARTY_LAYOUT            0xFF + +#define PARTY_MENU_TYPE_FIELD                     0  +#define PARTY_MENU_TYPE_IN_BATTLE                 1  +#define PARTY_MENU_TYPE_CONTEST                   2  +#define PARTY_MENU_TYPE_CHOOSE_MON                3  +#define PARTY_MENU_TYPE_CHOOSE_HALF               4  // multi battles, eReader battles, and some battle facilities +#define PARTY_MENU_TYPE_MULTI_SHOWCASE            5 +#define PARTY_MENU_TYPE_DAYCARE                   6  +#define PARTY_MENU_TYPE_MOVE_RELEARNER            7  +#define PARTY_MENU_TYPE_UNION_ROOM_REGISTER       8  // trading board +#define PARTY_MENU_TYPE_UNION_ROOM_TRADE          9  // trading board +#define PARTY_MENU_TYPE_SPIN_TRADE                10 // Unused beta for Gen IV's Spin Trade +#define PARTY_MENU_TYPE_MINIGAME                  11 +#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS  12 + +#define PARTY_ACTION_CHOOSE_MON         0 +#define PARTY_ACTION_SEND_OUT           1 +#define PARTY_ACTION_CANT_SWITCH        2 +#define PARTY_ACTION_USE_ITEM           3 +#define PARTY_ACTION_ABILITY_PREVENTS   4 +#define PARTY_ACTION_GIVE_ITEM          5   +#define PARTY_ACTION_GIVE_PC_ITEM       6   // Unused. Not possible to give non-mail items directly from PC +#define PARTY_ACTION_GIVE_MAILBOX_MAIL  7 +#define PARTY_ACTION_SWITCH             8 +#define PARTY_ACTION_SWITCHING          9 +#define PARTY_ACTION_SOFTBOILED         10 +#define PARTY_ACTION_CHOOSE_AND_CLOSE   11 +#define PARTY_ACTION_MOVE_TUTOR         12 +#define PARTY_ACTION_MINIGAME           13 +#define PARTY_ACTION_REUSABLE_ITEM      14  // Unused. The only reusable items are handled separately + +// IDs for DisplayPartyMenuStdMessage, to display the message at the bottom of the party menu +#define PARTY_MSG_CHOOSE_MON                0 +#define PARTY_MSG_CHOOSE_MON_OR_CANCEL      1 +#define PARTY_MSG_CHOOSE_MON_AND_CONFIRM    2 +#define PARTY_MSG_MOVE_TO_WHERE             3  +#define PARTY_MSG_TEACH_WHICH_MON           4 +#define PARTY_MSG_USE_ON_WHICH_MON          5 +#define PARTY_MSG_GIVE_TO_WHICH_MON         6 +#define PARTY_MSG_NOTHING_TO_CUT            7 +#define PARTY_MSG_CANT_SURF_HERE            8 +#define PARTY_MSG_ALREADY_SURFING           9 +#define PARTY_MSG_CURRENT_TOO_FAST          10 +#define PARTY_MSG_ENJOY_CYCLING             11 +#define PARTY_MSG_ALREADY_IN_USE            12 +#define PARTY_MSG_CANT_USE_HERE             13 +#define PARTY_MSG_NO_MON_FOR_BATTLE         14 +#define PARTY_MSG_CHOOSE_MON_2              15 +#define PARTY_MSG_NOT_ENOUGH_HP             16 +#define PARTY_MSG_X_MONS_ARE_NEEDED         17 +#define PARTY_MSG_MONS_CANT_BE_SAME         18 +#define PARTY_MSG_NO_SAME_HOLD_ITEMS        19 +#define PARTY_MSG_UNUSED                    20 +#define PARTY_MSG_DO_WHAT_WITH_MON          21 +#define PARTY_MSG_RESTORE_WHICH_MOVE        22 +#define PARTY_MSG_BOOST_PP_WHICH_MOVE       23 +#define PARTY_MSG_DO_WHAT_WITH_ITEM         24 +#define PARTY_MSG_DO_WHAT_WITH_MAIL         25 +#define PARTY_MSG_ALREADY_HOLDING_ONE       26 +#define PARTY_MSG_NONE                      127 + +// IDs for DisplayPartyPokemonDescriptionText, to display a message in the party pokemon's box +#define PARTYBOX_DESC_NO_USE      0 +#define PARTYBOX_DESC_ABLE_3      1 +#define PARTYBOX_DESC_FIRST       2 +#define PARTYBOX_DESC_SECOND      3 +#define PARTYBOX_DESC_THIRD       4 +#define PARTYBOX_DESC_FOURTH      5 +#define PARTYBOX_DESC_ABLE        6 +#define PARTYBOX_DESC_NOT_ABLE    7 +#define PARTYBOX_DESC_ABLE_2      8 +#define PARTYBOX_DESC_NOT_ABLE_2  9 +#define PARTYBOX_DESC_LEARNED     10 +#define PARTYBOX_DESC_HAVE        11 +#define PARTYBOX_DESC_DONT_HAVE   12 + +#define SELECTWINDOW_ACTIONS  0 +#define SELECTWINDOW_ITEM     1 +#define SELECTWINDOW_MAIL     2 +#define SELECTWINDOW_MOVES    3 + +#endif // GUARD_CONSTANTS_PARTY_MENU_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 5d0e562bc..97e3f0686 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -2,87 +2,280 @@  #define GUARD_CONSTANTS_POKEMON_H  // Pokemon types -#define TYPE_NONE     0xFF -#define TYPE_NORMAL   0x00 -#define TYPE_FIGHTING 0x01 -#define TYPE_FLYING   0x02 -#define TYPE_POISON   0x03 -#define TYPE_GROUND   0x04 -#define TYPE_ROCK     0x05 -#define TYPE_BUG      0x06 -#define TYPE_GHOST    0x07 -#define TYPE_STEEL    0x08 -#define TYPE_MYSTERY  0x09 -#define TYPE_FIRE     0x0a -#define TYPE_WATER    0x0b -#define TYPE_GRASS    0x0c -#define TYPE_ELECTRIC 0x0d -#define TYPE_PSYCHIC  0x0e -#define TYPE_ICE      0x0f -#define TYPE_DRAGON   0x10 -#define TYPE_DARK     0x11 -#define NUMBER_OF_MON_TYPES     0x12 - +#define TYPE_NONE             255 +#define TYPE_NORMAL           0 +#define TYPE_FIGHTING         1 +#define TYPE_FLYING           2 +#define TYPE_POISON           3 +#define TYPE_GROUND           4 +#define TYPE_ROCK             5 +#define TYPE_BUG              6 +#define TYPE_GHOST            7 +#define TYPE_STEEL            8 +#define TYPE_MYSTERY          9 +#define TYPE_FIRE             10 +#define TYPE_WATER            11 +#define TYPE_GRASS            12 +#define TYPE_ELECTRIC         13 +#define TYPE_PSYCHIC          14 +#define TYPE_ICE              15 +#define TYPE_DRAGON           16 +#define TYPE_DARK             17 +#define NUMBER_OF_MON_TYPES   18  // Pokemon egg groups -#define EGG_GROUP_NONE 0 -#define EGG_GROUP_MONSTER 1 -#define EGG_GROUP_WATER_1 2 -#define EGG_GROUP_BUG 3 -#define EGG_GROUP_FLYING 4 -#define EGG_GROUP_FIELD 5 -#define EGG_GROUP_FAIRY 6 -#define EGG_GROUP_GRASS 7 -#define EGG_GROUP_HUMAN_LIKE 8 -#define EGG_GROUP_WATER_3 9 -#define EGG_GROUP_MINERAL 10 -#define EGG_GROUP_AMORPHOUS 11 -#define EGG_GROUP_WATER_2 12 -#define EGG_GROUP_DITTO 13 -#define EGG_GROUP_DRAGON 14 -#define EGG_GROUP_UNDISCOVERED 15 +#define EGG_GROUP_NONE          0 +#define EGG_GROUP_MONSTER       1 +#define EGG_GROUP_WATER_1       2 +#define EGG_GROUP_BUG           3 +#define EGG_GROUP_FLYING        4 +#define EGG_GROUP_FIELD         5 +#define EGG_GROUP_FAIRY         6 +#define EGG_GROUP_GRASS         7 +#define EGG_GROUP_HUMAN_LIKE    8 +#define EGG_GROUP_WATER_3       9 +#define EGG_GROUP_MINERAL       10 +#define EGG_GROUP_AMORPHOUS     11 +#define EGG_GROUP_WATER_2       12 +#define EGG_GROUP_DITTO         13 +#define EGG_GROUP_DRAGON        14 +#define EGG_GROUP_UNDISCOVERED  15 + +#define EGG_GROUPS_PER_MON      2  // Pokemon natures -#define NATURE_HARDY 0 -#define NATURE_LONELY 1 -#define NATURE_BRAVE 2 -#define NATURE_ADAMANT 3 -#define NATURE_NAUGHTY 4 -#define NATURE_BOLD 5 -#define NATURE_DOCILE 6 -#define NATURE_RELAXED 7 -#define NATURE_IMPISH 8 -#define NATURE_LAX 9 -#define NATURE_TIMID 10 -#define NATURE_HASTY 11 -#define NATURE_SERIOUS 12 -#define NATURE_JOLLY 13 -#define NATURE_NAIVE 14 -#define NATURE_MODEST 15 -#define NATURE_MILD 16 -#define NATURE_QUIET 17 -#define NATURE_BASHFUL 18 -#define NATURE_RASH 19 -#define NATURE_CALM 20 -#define NATURE_GENTLE 21 -#define NATURE_SASSY 22 -#define NATURE_CAREFUL 23 -#define NATURE_QUIRKY 24 +#define NATURE_HARDY    0 +#define NATURE_LONELY   1 +#define NATURE_BRAVE    2 +#define NATURE_ADAMANT  3 +#define NATURE_NAUGHTY  4 +#define NATURE_BOLD     5 +#define NATURE_DOCILE   6 +#define NATURE_RELAXED  7 +#define NATURE_IMPISH   8 +#define NATURE_LAX      9 +#define NATURE_TIMID    10 +#define NATURE_HASTY    11 +#define NATURE_SERIOUS  12 +#define NATURE_JOLLY    13 +#define NATURE_NAIVE    14 +#define NATURE_MODEST   15 +#define NATURE_MILD     16 +#define NATURE_QUIET    17 +#define NATURE_BASHFUL  18 +#define NATURE_RASH     19 +#define NATURE_CALM     20 +#define NATURE_GENTLE   21 +#define NATURE_SASSY    22 +#define NATURE_CAREFUL  23 +#define NATURE_QUIRKY   24  // Pokemon Stats -#define STAT_HP 0 -#define STAT_ATK 1 -#define STAT_DEF 2 -#define STAT_SPEED 3 -#define STAT_SPATK 4 -#define STAT_SPDEF 5 -#define STAT_ACC 6 // Only in battles. +#define STAT_HP      0 +#define STAT_ATK     1 +#define STAT_DEF     2 +#define STAT_SPEED   3 +#define STAT_SPATK   4 +#define STAT_SPDEF   5 +#define STAT_ACC     6 // Only in battles.  #define STAT_EVASION 7 // Only in battles. -#define NUM_STATS 6 -#define NUM_BATTLE_STATS 8 +#define NUM_EV_STATS     NUM_STATS - 1 // excludes HP +#define NUM_BATTLE_STATS NUM_STATS + 2 // includes Accuracy and Evasion  // Shiny odds  #define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536 +// Flags for Get(Box)MonData / Set(Box)MonData +#define MON_DATA_PERSONALITY        0 +#define MON_DATA_OT_ID              1 +#define MON_DATA_NICKNAME           2 +#define MON_DATA_LANGUAGE           3 +#define MON_DATA_SANITY_IS_BAD_EGG  4 +#define MON_DATA_SANITY_HAS_SPECIES 5 +#define MON_DATA_SANITY_IS_EGG      6 +#define MON_DATA_OT_NAME            7 +#define MON_DATA_MARKINGS           8 +#define MON_DATA_CHECKSUM           9 +#define MON_DATA_ENCRYPT_SEPARATOR 10 +#define MON_DATA_SPECIES           11 +#define MON_DATA_HELD_ITEM         12 +#define MON_DATA_MOVE1             13 +#define MON_DATA_MOVE2             14 +#define MON_DATA_MOVE3             15 +#define MON_DATA_MOVE4             16 +#define MON_DATA_PP1               17 +#define MON_DATA_PP2               18 +#define MON_DATA_PP3               19 +#define MON_DATA_PP4               20 +#define MON_DATA_PP_BONUSES        21 +#define MON_DATA_COOL              22 +#define MON_DATA_BEAUTY            23 +#define MON_DATA_CUTE              24 +#define MON_DATA_EXP               25 +#define MON_DATA_HP_EV             26 +#define MON_DATA_ATK_EV            27 +#define MON_DATA_DEF_EV            28 +#define MON_DATA_SPEED_EV          29 +#define MON_DATA_SPATK_EV          30 +#define MON_DATA_SPDEF_EV          31 +#define MON_DATA_FRIENDSHIP        32 +#define MON_DATA_SMART             33 +#define MON_DATA_POKERUS           34 +#define MON_DATA_MET_LOCATION      35 +#define MON_DATA_MET_LEVEL         36 +#define MON_DATA_MET_GAME          37 +#define MON_DATA_POKEBALL          38 +#define MON_DATA_HP_IV             39 +#define MON_DATA_ATK_IV            40 +#define MON_DATA_DEF_IV            41 +#define MON_DATA_SPEED_IV          42 +#define MON_DATA_SPATK_IV          43 +#define MON_DATA_SPDEF_IV          44 +#define MON_DATA_IS_EGG            45 +#define MON_DATA_ABILITY_NUM       46 +#define MON_DATA_TOUGH             47 +#define MON_DATA_SHEEN             48 +#define MON_DATA_OT_GENDER         49 +#define MON_DATA_COOL_RIBBON       50 +#define MON_DATA_BEAUTY_RIBBON     51 +#define MON_DATA_CUTE_RIBBON       52 +#define MON_DATA_SMART_RIBBON      53 +#define MON_DATA_TOUGH_RIBBON      54 +#define MON_DATA_STATUS            55 +#define MON_DATA_LEVEL             56 +#define MON_DATA_HP                57 +#define MON_DATA_MAX_HP            58 +#define MON_DATA_ATK               59 +#define MON_DATA_DEF               60 +#define MON_DATA_SPEED             61 +#define MON_DATA_SPATK             62 +#define MON_DATA_SPDEF             63 +#define MON_DATA_MAIL              64 +#define MON_DATA_SPECIES2          65 +#define MON_DATA_IVS               66 +#define MON_DATA_CHAMPION_RIBBON   67 +#define MON_DATA_WINNING_RIBBON    68 +#define MON_DATA_VICTORY_RIBBON    69 +#define MON_DATA_ARTIST_RIBBON     70 +#define MON_DATA_EFFORT_RIBBON     71 +#define MON_DATA_GIFT_RIBBON_1     72 +#define MON_DATA_GIFT_RIBBON_2     73 +#define MON_DATA_GIFT_RIBBON_3     74 +#define MON_DATA_GIFT_RIBBON_4     75 +#define MON_DATA_GIFT_RIBBON_5     76 +#define MON_DATA_GIFT_RIBBON_6     77 +#define MON_DATA_GIFT_RIBBON_7     78 +#define MON_DATA_FATEFUL_ENCOUNTER 79 +#define MON_DATA_OBEDIENCE         80 +#define MON_DATA_KNOWN_MOVES       81 +#define MON_DATA_RIBBON_COUNT      82 +#define MON_DATA_RIBBONS           83 +#define MON_DATA_ATK2              84 +#define MON_DATA_DEF2              85 +#define MON_DATA_SPEED2            86 +#define MON_DATA_SPATK2            87 +#define MON_DATA_SPDEF2            88 + +#define MIN_LEVEL 1 +#define MAX_LEVEL 100 + +#define OT_ID_PLAYER_ID       0 +#define OT_ID_PRESET          1 +#define OT_ID_RANDOM_NO_SHINY 2 + +#define MON_GIVEN_TO_PARTY      0 +#define MON_GIVEN_TO_PC         1 +#define MON_CANT_GIVE           2 + +#define PLAYER_HAS_TWO_USABLE_MONS     0 +#define PLAYER_HAS_ONE_MON             1 +#define PLAYER_HAS_ONE_USABLE_MON      2 + +#define MON_ALREADY_KNOWS_MOVE  0xFFFE +#define MON_HAS_MAX_MOVES       0xFFFF + +#define LEVEL_UP_MOVE_ID   0x01FF +#define LEVEL_UP_MOVE_LV   0xFE00 +#define LEVEL_UP_END       0xFFFF + +#define MON_MALE       0x00 +#define MON_FEMALE     0xFE +#define MON_GENDERLESS 0xFF + +#define FRIENDSHIP_EVENT_GROW_LEVEL           0 +#define FRIENDSHIP_EVENT_VITAMIN              1 // unused +#define FRIENDSHIP_EVENT_BATTLE_ITEM          2 // unused +#define FRIENDSHIP_EVENT_LEAGUE_BATTLE        3 +#define FRIENDSHIP_EVENT_LEARN_TMHM           4 +#define FRIENDSHIP_EVENT_WALKING              5 +#define FRIENDSHIP_EVENT_FAINT_SMALL          6 +#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 7 +#define FRIENDSHIP_EVENT_FAINT_LARGE          8 + +#define MAX_FRIENDSHIP  0xFF + +#define STATUS_PRIMARY_NONE      0 +#define STATUS_PRIMARY_POISON    1 +#define STATUS_PRIMARY_PARALYSIS 2 +#define STATUS_PRIMARY_SLEEP     3 +#define STATUS_PRIMARY_FREEZE    4 +#define STATUS_PRIMARY_BURN      5 +#define STATUS_PRIMARY_POKERUS   6 +#define STATUS_PRIMARY_FAINTED   7 + +#define MAX_TOTAL_EVS 510 +#define EV_ITEM_RAISE_LIMIT 100 + +#define UNOWN_FORM_COUNT 28 + +// Battle move flags +#define FLAG_MAKES_CONTACT          0x1 +#define FLAG_PROTECT_AFFECTED       0x2 +#define FLAG_MAGICCOAT_AFFECTED     0x4 +#define FLAG_SNATCH_AFFECTED        0x8 +#define FLAG_MIRROR_MOVE_AFFECTED   0x10 +#define FLAG_KINGSROCK_AFFECTED     0x20 + +// Growth rates +#define GROWTH_MEDIUM_FAST  0 +#define GROWTH_ERRATIC      1 +#define GROWTH_FLUCTUATING  2 +#define GROWTH_MEDIUM_SLOW  3 +#define GROWTH_FAST         4 +#define GROWTH_SLOW         5 + +// Body colors for pokedex search +#define BODY_COLOR_RED      0 +#define BODY_COLOR_BLUE     1 +#define BODY_COLOR_YELLOW   2 +#define BODY_COLOR_GREEN    3 +#define BODY_COLOR_BLACK    4 +#define BODY_COLOR_BROWN    5 +#define BODY_COLOR_PURPLE   6 +#define BODY_COLOR_GRAY     7 +#define BODY_COLOR_WHITE    8 +#define BODY_COLOR_PINK     9 + +#define F_SUMMARY_SCREEN_FLIP_SPRITE 0x80 + +// Evolution type flags +#define EVO_FRIENDSHIP       0x0001 // Pokémon levels up with friendship ≥ 220 +#define EVO_FRIENDSHIP_DAY   0x0002 // Pokémon levels up during the day with friendship ≥ 220 +#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220 +#define EVO_LEVEL            0x0004 // Pokémon reaches the specified level +#define EVO_TRADE            0x0005 // Pokémon is traded +#define EVO_TRADE_ITEM       0x0006 // Pokémon is traded while it's holding the specified item +#define EVO_ITEM             0x0007 // specified item is used on Pokémon +#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense +#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense +#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense +#define EVO_LEVEL_SILCOON    0x000b // Pokémon reaches the specified level with a Silcoon personality value +#define EVO_LEVEL_CASCOON    0x000c // Pokémon reaches the specified level with a Cascoon personality value +#define EVO_LEVEL_NINJASK    0x000d // Pokémon reaches the specified level (special value for Ninjask) +#define EVO_LEVEL_SHEDINJA   0x000e // Pokémon reaches the specified level (special value for Shedinja) +#define EVO_BEAUTY           0x000f // Pokémon levels up with beauty ≥ specified value + +#define EVOS_PER_MON 5 +  #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/constants/script_menu.h b/include/constants/script_menu.h new file mode 100644 index 000000000..928ca00e0 --- /dev/null +++ b/include/constants/script_menu.h @@ -0,0 +1,168 @@ +#ifndef GUARD_SCRIPT_MENU_CONSTANTS_H +#define GUARD_SCRIPT_MENU_CONSTANTS_H + +#define MULTICHOICE(name) {name, ARRAY_COUNT(name)} + +#define MAX_MULTICHOICE_WIDTH 28 + +#define MULTI_B_PRESSED  127 + +// Multichoice Ids +#define MULTI_BRINEY_ON_DEWFORD            0 +#define MULTI_PC                           1 // Exit only, populated by CreatePCMultichoice +#define MULTI_ENTERINFO                    2 +#define MULTI_CONTEST_INFO                 3 +#define MULTI_CONTEST_TYPE                 4 +#define MULTI_BASE_PC_NO_REGISTRY          5 +#define MULTI_BASE_PC_WITH_REGISTRY        6 +#define MULTI_REGISTER_MENU                7 +#define MULTI_SSTIDAL_LILYCOVE             8 // Exit only, populated by CreateLilycoveSSTidalMultichoice +#define MULTI_UNUSED_9                     9 +#define MULTI_UNUSED_10                    10 +#define MULTI_FRONTIER_PASS_INFO           11 +#define MULTI_BIKE                         12 +#define MULTI_STATUS_INFO                  13 +#define MULTI_BRINEY_OFF_DEWFORD           14 +#define MULTI_UNUSED_15                    15 +#define MULTI_VIEWED_PAINTINGS             16 +#define MULTI_YESNOINFO                    17 +#define MULTI_BATTLE_MODE                  18 +#define MULTI_UNUSED_19                    19 +#define MULTI_YESNOINFO_2                  20 +#define MULTI_UNUSED_21                    21 +#define MULTI_UNUSED_22                    22 +#define MULTI_CHALLENGEINFO                23 +#define MULTI_LEVEL_MODE                   24 +#define MULTI_MECHADOLL1_Q1                25 +#define MULTI_MECHADOLL1_Q2                26 +#define MULTI_MECHADOLL1_Q3                27 +#define MULTI_MECHADOLL2_Q1                28 +#define MULTI_MECHADOLL2_Q2                29 +#define MULTI_MECHADOLL2_Q3                30 +#define MULTI_MECHADOLL3_Q1                31 +#define MULTI_MECHADOLL3_Q2                32 +#define MULTI_MECHADOLL3_Q3                33 +#define MULTI_MECHADOLL4_Q1                34 +#define MULTI_MECHADOLL4_Q2                35 +#define MULTI_MECHADOLL4_Q3                36 +#define MULTI_MECHADOLL5_Q1                37 +#define MULTI_MECHADOLL5_Q2                38 +#define MULTI_MECHADOLL5_Q3                39 +#define MULTI_UNUSED_40                    40 +#define MULTI_UNUSED_41                    41 +#define MULTI_VENDING_MACHINE              42 +#define MULTI_MACH_BIKE_INFO               43 +#define MULTI_ACRO_BIKE_INFO               44 +#define MULTI_SATISFACTION                 45 +#define MULTI_STERN_DEEPSEA                46 +#define MULTI_UNUSED_ASH_VENDOR            47 // Replaced by scrollable multichoice +#define MULTI_GAME_CORNER_DOLLS            48 +#define MULTI_GAME_CORNER_COINS            49 +#define MULTI_HOWS_FISHING                 50 +#define MULTI_UNUSED_51                    51 +#define MULTI_SSTIDAL_SLATEPORT_WITH_BF    52 +#define MULTI_SSTIDAL_BATTLE_FRONTIER      53 +#define MULTI_RIGHTLEFT                    54 +#define MULTI_GAME_CORNER_TMS              55 +#define MULTI_SSTIDAL_SLATEPORT_NO_BF      56 +#define MULTI_FLOORS                       57  +#define MULTI_SHARDS_R                     58 +#define MULTI_SHARDS_Y                     59 +#define MULTI_SHARDS_RY                    60 +#define MULTI_SHARDS_B                     61 +#define MULTI_SHARDS_RB                    62 +#define MULTI_SHARDS_YB                    63 +#define MULTI_SHARDS_RYB                   64 +#define MULTI_SHARDS_G                     65 +#define MULTI_SHARDS_RG                    66 +#define MULTI_SHARDS_YG                    67 +#define MULTI_SHARDS_RYG                   68 +#define MULTI_SHARDS_BG                    69 +#define MULTI_SHARDS_RBG                   70 +#define MULTI_SHARDS_YBG                   71 +#define MULTI_SHARDS_RYBG                  72 +#define MULTI_TOURNEY_WITH_RECORD          73 +#define MULTI_CABLE_CLUB_NO_RECORD_MIX     74  +#define MULTI_WIRELESS_NO_RECORD_BERRY     75 +#define MULTI_CABLE_CLUB_WITH_RECORD_MIX   76  +#define MULTI_WIRELESS_NO_BERRY            77 +#define MULTI_WIRELESS_NO_RECORD           78 +#define MULTI_WIRELESS_ALL_SERVICES        79 +#define MULTI_WIRELESS_MINIGAME            80 +#define MULTI_LINK_LEADER                  81 +#define MULTI_CONTEST_RANK                 82 +#define MULTI_FRONTIER_ITEM_CHOOSE         83 +#define MULTI_LINK_CONTEST_INFO            84 +#define MULTI_LINK_CONTEST_MODE            85 +#define MULTI_FORCED_START_MENU            86 +#define MULTI_FRONTIER_GAMBLER_BET         87 +#define MULTI_TENT                         88 +#define MULTI_UNUSED_SSTIDAL_1             89 // These 4 were replaced by CreateLilycoveSSTidalMultichoice +#define MULTI_UNUSED_SSTIDAL_2             90 // +#define MULTI_UNUSED_SSTIDAL_3             91 // +#define MULTI_UNUSED_SSTIDAL_4             92 // +#define MULTI_FOSSIL                       93 +#define MULTI_YESNO                        94 +#define MULTI_FRONTIER_RULES               95 +#define MULTI_BATTLE_ARENA_RULES           96 +#define MULTI_BATTLE_TOWER_RULES           97 +#define MULTI_BATTLE_DOME_RULES            98 +#define MULTI_BATTLE_FACTORY_RULES         99 +#define MULTI_BATTLE_PALACE_RULES          100 +#define MULTI_BATTLE_PYRAMID_RULES         101 +#define MULTI_BATTLE_PIKE_RULES            102 +#define MULTI_GO_ON_RECORD_REST_RETIRE     103 +#define MULTI_GO_ON_REST_RETIRE            104 +#define MULTI_GO_ON_RECORD_RETIRE          105 +#define MULTI_GO_ON_RETIRE                 106 +#define MULTI_TOURNEY_NO_RECORD            107 +#define MULTI_TV_LATI                      108 +#define MULTI_BATTLE_TOWER_FEELINGS        109 +#define MULTI_WHERES_RAYQUAZA              110 +#define MULTI_SLATEPORT_TENT_RULES         111 +#define MULTI_FALLARBOR_TENT_RULES         112 +#define MULTI_TAG_MATCH_TYPE               113 + +// Lilycove SS Tidal Multichoice Selections +#define SSTIDAL_SELECTION_SLATEPORT        0 +#define SSTIDAL_SELECTION_BATTLE_FRONTIER  1 +#define SSTIDAL_SELECTION_SOUTHERN_ISLAND  2 +#define SSTIDAL_SELECTION_NAVEL_ROCK       3 +#define SSTIDAL_SELECTION_BIRTH_ISLAND     4 +#define SSTIDAL_SELECTION_FARAWAY_ISLAND   5 +#define SSTIDAL_SELECTION_EXIT             6 +#define SSTIDAL_SELECTION_COUNT            7 + +// Std String Ids +#define STDSTRING_COOL             0 +#define STDSTRING_BEAUTY           1 +#define STDSTRING_CUTE             2 +#define STDSTRING_SMART            3 +#define STDSTRING_TOUGH            4 +#define STDSTRING_NORMAL           5 +#define STDSTRING_SUPER            6 +#define STDSTRING_HYPER            7 +#define STDSTRING_MASTER           8 +#define STDSTRING_COOL2            9 +#define STDSTRING_BEAUTY2          10 +#define STDSTRING_CUTE2            11 +#define STDSTRING_SMART2           12 +#define STDSTRING_TOUGH2           13 +#define STDSTRING_ITEMS            14 +#define STDSTRING_KEYITEMS         15 +#define STDSTRING_POKEBALLS        16 +#define STDSTRING_TMHMS            17 +#define STDSTRING_BERRIES          18 +#define STDSTRING_SINGLE           19 +#define STDSTRING_DOUBLE           20 +#define STDSTRING_MULTI            21 +#define STDSTRING_MULTI_LINK       22 +#define STDSTRING_BATTLE_TOWER     23 +#define STDSTRING_BATTLE_DOME      24 +#define STDSTRING_BATTLE_FACTORY   25 +#define STDSTRING_BATTLE_PALACE    26 +#define STDSTRING_BATTLE_ARENA     27 +#define STDSTRING_BATTLE_PIKE      28 +#define STDSTRING_BATTLE_PYRAMID   29 + +#endif //GUARD_SCRIPT_MENU_CONSTANTS_H diff --git a/include/constants/trade.h b/include/constants/trade.h new file mode 100644 index 000000000..fa42e6b43 --- /dev/null +++ b/include/constants/trade.h @@ -0,0 +1,116 @@ +#ifndef GUARD_CONSTANTS_TRADE_H +#define GUARD_CONSTANTS_TRADE_H + +#define TRADE_PLAYER  0 +#define TRADE_PARTNER 1 + +#define LINK_TRADE_TIMEOUT 300 + +// In-game Trade IDs +#define INGAME_TRADE_SEEDOT 0 +#define INGAME_TRADE_PLUSLE 1 +#define INGAME_TRADE_HORSEA 2 +#define INGAME_TRADE_MEOWTH 3 + +// Flag IDs for sending link data +#define INITIATE_TRADE  1 +#define CANCEL_TRADE    2 +#define WANTS_TO_TRADE   1 +#define WANTS_TO_CANCEL  2 +#define READY_FINISH_TRADE  1 +#define FINISH_TRADE        2 + +// Return values for CanTradeSelectedMon and CanSpinTradeMon +#define CAN_TRADE_MON           0 +#define CANT_TRADE_LAST_MON     1 +#define CANT_TRADE_NATIONAL     2 +#define CANT_TRADE_EGG_YET      3 +#define CANT_TRADE_INVALID_MON  4 +#define CANT_TRADE_EGG_YET2     5 + +// Return values for CheckValidityOfTradeMons +#define PLAYER_MON_INVALID   0 +#define BOTH_MONS_VALID      1 +#define PARTNER_MON_INVALID  2 + +// Return values for GetGameProgressForLinkTrade +#define TRADE_BOTH_PLAYERS_READY      0 +#define TRADE_PLAYER_NOT_READY        1 +#define TRADE_PARTNER_NOT_READY       2 + +// Indexes for sTradeActionTexts +#define TRADE_TEXT_CANCEL        0 +#define TRADE_TEXT_CHOOSE_MON    1 +#define TRADE_TEXT_SUMMARY       2 +#define TRADE_TEXT_TRADE         3 +#define TRADE_TEXT_CANCEL_TRADE  4 +#define TRADE_TEXT_JP_QUIT       5 + +// Checked to confirm DrawTradeMenuParty has reached final state +#define DRAW_PARTY_FINISH 5 + +// Message indexes for sTradeMessages +#define TRADE_MSG_STANDBY                     0 +#define TRADE_MSG_CANCELED                    1 +#define TRADE_MSG_ONLY_MON1                   2 +#define TRADE_MSG_ONLY_MON2                   3 +#define TRADE_MSG_WAITING_FOR_FRIEND          4 +#define TRADE_MSG_FRIEND_WANTS_TO_TRADE       5 +#define TRADE_MSG_MON_CANT_BE_TRADED          6 +#define TRADE_MSG_EGG_CANT_BE_TRADED          7 +#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED  8 + +// IDs for QueueAction +#define QUEUE_SEND_DATA                   0 +#define QUEUE_STANDBY                     1 +#define QUEUE_ONLY_MON1                   2 +#define QUEUE_ONLY_MON2                   3 +#define QUEUE_UNUSED1                     4 +#define QUEUE_UNUSED2                     5 +#define QUEUE_MON_CANT_BE_TRADED          6 +#define QUEUE_EGG_CANT_BE_TRADED          7 +#define QUEUE_FRIENDS_MON_CANT_BE_TRADED  8 + +#define QUEUE_DELAY_MSG   3 +#define QUEUE_DELAY_DATA  5 + +// IDs for CallTradeMenuFunc +#define TRADEMENUFUNC_MAIN_MENU                0 +#define TRADEMENUFUNC_SELECTED_MON             1 +#define TRADEMENUFUNC_SHOW_MON_SUMMARY         2 +#define TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE  3 +#define TRADEMENUFUNC_CANCEL_TRADE_PROMPT      4 +#define TRADEMENUFUNC_UNUSED_5                 5 +#define TRADEMENUFUNC_BOTH_MONS_SELECTED       6 +#define TRADEMENUFUNC_CONFIRM_TRADE_PROMPT     7 +#define TRADEMENUFUNC_REDRAW_MAIN_MENU         8 +#define TRADEMENUFUNC_LINK_TRADE_FADE_OUT      9 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_FADE     10 +#define TRADEMENUFUNC_CANCEL_TRADE_1           11 +#define TRADEMENUFUNC_CANCEL_TRADE_2           12 +#define TRADEMENUFUNC_START_LINK_TRADE         13 +#define TRADEMENUFUNC_DELAY_TRADE_CONFIRM      14 +#define TRADEMENUFUNC_UNUSED_15                15 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE    16 +#define TRADEMENUFUNC_PARTNER_MON_INVALID      17 +#define TRADEMENUFUNC_STANDBY                  100 + +// Message indexes for sUnionRoomTradeMessages +#define UR_TRADE_MSG_NONE                         0 +#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS        1 +#define UR_TRADE_MSG_NOT_EGG                      2 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1         3 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2         4 +#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED  5 +#define UR_TRADE_MSG_EGG_CANT_BE_TRADED           6 +#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON      7 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1    8 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2    9 + +// Return values for CanRegisterMonForTradingBoard +#define CAN_REGISTER_MON   0 +#define CANT_REGISTER_MON  1 +#define CANT_REGISTER_EGG  2 + + +#endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index 4aae1dbbc..afbcd4ace 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -1,27 +1,46 @@  #ifndef GUARD_CONSTANTS_TRAINER_HILL_H  #define GUARD_CONSTANTS_TRAINER_HILL_H -#define TRAINER_HILL_FUNC_START 0 -#define TRAINER_HILL_FUNC_1 1 -#define TRAINER_HILL_FUNC_2 2 -#define TRAINER_HILL_FUNC_3 3 -#define TRAINER_HILL_FUNC_RESUME_TIMER 4 -#define TRAINER_HILL_FUNC_SET_LOST 5 -#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6 -#define TRAINER_HILL_FUNC_7 7 -#define TRAINER_HILL_FUNC_8 8 -#define TRAINER_HILL_FUNC_9 9 -#define TRAINER_HILL_FUNC_10 10 -#define TRAINER_HILL_FUNC_11 11 -#define TRAINER_HILL_FUNC_12 12 -#define TRAINER_HILL_FUNC_13 13 -#define TRAINER_HILL_FUNC_14 14 -#define TRAINER_HILL_FUNC_15 15 -#define TRAINER_HILL_FUNC_16 16 -#define TRAINER_HILL_FUNC_SET_TAG 17 - -// Values returned by the TrainerHillGetChallengeStatus -// function. +#define TRAINER_HILL_1F        1 +#define TRAINER_HILL_2F        2 +#define TRAINER_HILL_3F        3 +#define TRAINER_HILL_4F        4 +#define TRAINER_HILL_ROOF      5 +#define TRAINER_HILL_ENTRANCE  6 + +#define NUM_TRAINER_HILL_FLOORS    4 +#define NUM_TRAINER_HILL_FLOORS_JP 2 + +#define NUM_TRAINER_HILL_PRIZE_LISTS 10 + +#define TRAINER_HILL_FUNC_START                 0 +#define TRAINER_HILL_FUNC_GET_OWNER_STATE       1 +#define TRAINER_HILL_FUNC_GIVE_PRIZE            2 +#define TRAINER_HILL_FUNC_CHECK_FINAL_TIME      3 +#define TRAINER_HILL_FUNC_RESUME_TIMER          4 +#define TRAINER_HILL_FUNC_SET_LOST              5 +#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS  6 +#define TRAINER_HILL_FUNC_GET_CHALLENGE_TIME    7 +#define TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED   8 +#define TRAINER_HILL_FUNC_CLEAR_RESULT          9 +#define TRAINER_HILL_FUNC_IN_CHALLENGE          10 +#define TRAINER_HILL_FUNC_POST_BATTLE_TEXT      11 +#define TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS 12 +#define TRAINER_HILL_FUNC_GET_GAME_SAVED        13 +#define TRAINER_HILL_FUNC_SET_GAME_SAVED        14 +#define TRAINER_HILL_FUNC_CLEAR_GAME_SAVED      15 +#define TRAINER_HILL_FUNC_GET_WON               16 +#define TRAINER_HILL_FUNC_SET_TAG               17 + +#define TRAINER_HILL_TEXT_INTRO        2 +#define TRAINER_HILL_TEXT_PLAYER_LOST  3 +#define TRAINER_HILL_TEXT_PLAYER_WON   4 +#define TRAINER_HILL_TEXT_AFTER        5 + +#define NUM_TRAINER_HILL_TRAINERS     (NUM_TRAINER_HILL_FLOORS * 2) +#define NUM_TRAINER_HILL_TRAINERS_JP  (NUM_TRAINER_HILL_FLOORS_JP * 2) + +// Values returned by TrainerHillGetChallengeStatus  #define TRAINER_HILL_PLAYER_STATUS_LOST 0  #define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1  #define TRAINER_HILL_PLAYER_STATUS_NORMAL 2 diff --git a/include/constants/trainers.h b/include/constants/trainers.h index c0abfe6b6..541b131ca 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -2,9 +2,11 @@  #define GUARD_TRAINERS_H  #include "constants/opponents.h" +#include "constants/battle_frontier_trainers.h"  // Special Trainer Ids. -#define TRAINER_RECORD_MIXING_FRIEND        300 +//      0-299 are frontier trainers +#define TRAINER_RECORD_MIXING_FRIEND        FRONTIER_TRAINERS_COUNT  #define TRAINER_RECORD_MIXING_APPRENTICE    400  #define TRAINER_EREADER                     500  #define TRAINER_FRONTIER_BRAIN              1022 @@ -119,7 +121,7 @@  #define FACILITY_CLASS_HIKER                 0x0  #define FACILITY_CLASS_AQUA_GRUNT_M          0x1 -#define FACILITY_CLASS_POKEMON_BREEDER_F     0x2 +#define FACILITY_CLASS_PKMN_BREEDER_F        0x2  #define FACILITY_CLASS_COOLTRAINER_M         0x3  #define FACILITY_CLASS_BIRD_KEEPER           0x4  #define FACILITY_CLASS_COLLECTOR             0x5 @@ -202,6 +204,86 @@  #define FACILITY_CLASSES_COUNT               0x52 +#define RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE    0x0 +#define RS_FACILITY_CLASS_AQUA_GRUNT_M          0x1 +#define RS_FACILITY_CLASS_AQUA_GRUNT_F          0x2 +#define RS_FACILITY_CLASS_AROMA_LADY            0x3 +#define RS_FACILITY_CLASS_RUIN_MANIAC           0x4 +#define RS_FACILITY_CLASS_INTERVIEWER           0x5 +#define RS_FACILITY_CLASS_TUBER_F               0x6 +#define RS_FACILITY_CLASS_TUBER_M               0x7 +#define RS_FACILITY_CLASS_COOLTRAINER_M         0x8 +#define RS_FACILITY_CLASS_COOLTRAINER_F         0x9 +#define RS_FACILITY_CLASS_HEX_MANIAC            0xA +#define RS_FACILITY_CLASS_LADY                  0xB +#define RS_FACILITY_CLASS_BEAUTY                0xC +#define RS_FACILITY_CLASS_RICH_BOY              0xD +#define RS_FACILITY_CLASS_POKEMANIAC            0xE +#define RS_FACILITY_CLASS_SWIMMER_M             0xF +#define RS_FACILITY_CLASS_BLACK_BELT            0x10 +#define RS_FACILITY_CLASS_GUITARIST             0x11 +#define RS_FACILITY_CLASS_KINDLER               0x12 +#define RS_FACILITY_CLASS_CAMPER                0x13 +#define RS_FACILITY_CLASS_BUG_MANIAC            0x14 +#define RS_FACILITY_CLASS_PSYCHIC_M             0x15 +#define RS_FACILITY_CLASS_PSYCHIC_F             0x16 +#define RS_FACILITY_CLASS_GENTLEMAN             0x17 +#define RS_FACILITY_CLASS_ELITE_FOUR_M          0x18 +#define RS_FACILITY_CLASS_ELITE_FOUR_F          0x19 +#define RS_FACILITY_CLASS_LEADER_F              0x1A +#define RS_FACILITY_CLASS_LEADER_M              0x1B +#define RS_FACILITY_CLASS_LEADER_MF             0x1C +#define RS_FACILITY_CLASS_SCHOOL_KID_M          0x1D +#define RS_FACILITY_CLASS_SCHOOL_KID_F          0x1E +#define RS_FACILITY_CLASS_SR_AND_JR             0x1F +#define RS_FACILITY_CLASS_POKEFAN_M             0x20 +#define RS_FACILITY_CLASS_POKEFAN_F             0x21 +#define RS_FACILITY_CLASS_EXPERT_M              0x22 +#define RS_FACILITY_CLASS_EXPERT_F              0x23 +#define RS_FACILITY_CLASS_YOUNGSTER             0x24 +#define RS_FACILITY_CLASS_CHAMPION              0x25 +#define RS_FACILITY_CLASS_FISHERMAN             0x26 +#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M  0x27 +#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F  0x28 +#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M  0x29 +#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F  0x2A +#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M 0x2B +#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F 0x2C +#define RS_FACILITY_CLASS_DRAGON_TAMER          0x2D +#define RS_FACILITY_CLASS_BIRD_KEEPER           0x2E +#define RS_FACILITY_CLASS_NINJA_BOY             0x2F +#define RS_FACILITY_CLASS_BATTLE_GIRL           0x30 +#define RS_FACILITY_CLASS_PARASOL_LADY          0x31 +#define RS_FACILITY_CLASS_SWIMMER_F             0x32 +#define RS_FACILITY_CLASS_PICNICKER             0x33 +#define RS_FACILITY_CLASS_TWINS                 0x34 +#define RS_FACILITY_CLASS_SAILOR                0x35 +#define RS_FACILITY_CLASS_BOARDER_1             0x36 +#define RS_FACILITY_CLASS_BOARDER_2             0x37 +#define RS_FACILITY_CLASS_COLLECTOR             0x38 +#define RS_FACILITY_CLASS_WALLY                 0x39 +#define RS_FACILITY_CLASS_BRENDAN_1             0x3A +#define RS_FACILITY_CLASS_BRENDAN_2             0x3B +#define RS_FACILITY_CLASS_BRENDAN_3             0x3C +#define RS_FACILITY_CLASS_MAY_1                 0x3D +#define RS_FACILITY_CLASS_MAY_2                 0x3E +#define RS_FACILITY_CLASS_MAY_3                 0x3F +#define RS_FACILITY_CLASS_PKMN_BREEDER_M        0x40 +#define RS_FACILITY_CLASS_PKMN_BREEDER_F        0x41 +#define RS_FACILITY_CLASS_PKMN_RANGER_M         0x42 +#define RS_FACILITY_CLASS_PKMN_RANGER_F         0x43 +#define RS_FACILITY_CLASS_MAGMA_LEADER          0x44 +#define RS_FACILITY_CLASS_MAGMA_GRUNT_M         0x45 +#define RS_FACILITY_CLASS_MAGMA_GRUNT_F         0x46 +#define RS_FACILITY_CLASS_LASS                  0x47 +#define RS_FACILITY_CLASS_BUG_CATCHER           0x48 +#define RS_FACILITY_CLASS_HIKER                 0x49 +#define RS_FACILITY_CLASS_YOUNG_COUPLE          0x4A +#define RS_FACILITY_CLASS_OLD_COUPLE            0x4B +#define RS_FACILITY_CLASS_SIS_AND_BRO           0x4C + +#define RS_FACILITY_CLASSES_COUNT               0x4D +  #define TRAINER_CLASS_PKMN_TRAINER_1 0x0  // Unused  #define TRAINER_CLASS_PKMN_TRAINER_2 0x1  // Unused  #define TRAINER_CLASS_HIKER          0x2 diff --git a/include/constants/tv.h b/include/constants/tv.h new file mode 100644 index 000000000..6f686f727 --- /dev/null +++ b/include/constants/tv.h @@ -0,0 +1,137 @@ +#ifndef GUARD_CONSTANTS_TV_H +#define GUARD_CONSTANTS_TV_H + +#define POKENEWS_NONE         0 +#define POKENEWS_SLATEPORT    1 +#define POKENEWS_GAME_CORNER  2 +#define POKENEWS_LILYCOVE     3 +#define POKENEWS_BLENDMASTER  4 + +#define TVSHOW_OFF_AIR                              0 +#define TVSHOW_FAN_CLUB_LETTER                      1 +#define TVSHOW_RECENT_HAPPENINGS                    2 +#define TVSHOW_PKMN_FAN_CLUB_OPINIONS               3 +#define TVSHOW_UNKN_SHOWTYPE_04                     4 +#define TVSHOW_NAME_RATER_SHOW                      5 +#define TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE        6 +#define TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE   7 +#define TVSHOW_CONTEST_LIVE_UPDATES                 8 +#define TVSHOW_3_CHEERS_FOR_POKEBLOCKS              9 +#define TVSHOW_BATTLE_UPDATE                        10 +#define TVSHOW_FAN_CLUB_SPECIAL                     11 +#define TVSHOW_CONTEST_LIVE_UPDATES_2               12 +//                                                  // +#define TVSHOW_POKEMON_TODAY_CAUGHT                 21  +#define TVSHOW_SMART_SHOPPER                        22 +#define TVSHOW_POKEMON_TODAY_FAILED                 23 +#define TVSHOW_FISHING_ADVICE                       24 +#define TVSHOW_WORLD_OF_MASTERS                     25 +#define TVSHOW_TODAYS_RIVAL_TRAINER                 26 +#define TVSHOW_TREND_WATCHER                        27 +#define TVSHOW_TREASURE_INVESTIGATORS               28 +#define TVSHOW_FIND_THAT_GAMER                      29 +#define TVSHOW_BREAKING_NEWS                        30 +#define TVSHOW_SECRET_BASE_VISIT                    31 +#define TVSHOW_LOTTO_WINNER                         32 +#define TVSHOW_BATTLE_SEMINAR                       33 +#define TVSHOW_TRAINER_FAN_CLUB                     34 +#define TVSHOW_CUTIES                               35 +#define TVSHOW_FRONTIER                             36 +#define TVSHOW_NUMBER_ONE                           37 +#define TVSHOW_SECRET_BASE_SECRETS                  38 +#define TVSHOW_SAFARI_FAN_CLUB                      39 +//                                                  // +#define TVSHOW_MASS_OUTBREAK                        41  + +// Number of ribbons to put Spot the Cuties on air +#define NUM_CUTIES_RIBBONS  4 + +// TV Show states for Secret Base Secrets +#define SBSECRETS_STATE_INTRO                   0 +#define SBSECRETS_STATE_DO_NEXT1                1 +#define SBSECRETS_STATE_DO_NEXT2                2 +#define SBSECRETS_STATE_TOOK_X_STEPS            3 +#define SBSECRETS_STATE_BASE_INTEREST_LOW       4 +#define SBSECRETS_STATE_BASE_INTEREST_MED       5 +#define SBSECRETS_STATE_BASE_INTEREST_HIGH      6 +#define SBSECRETS_STATE_OUTRO                   7 +#define SBSECRETS_STATE_NOTHING_USED1           8 +#define SBSECRETS_STATE_NOTHING_USED2           9 +#define SBSECRETS_STATE_USED_CHAIR              10 +#define SBSECRETS_STATE_USED_BALLOON            11 +#define SBSECRETS_STATE_USED_TENT               12 +#define SBSECRETS_STATE_USED_PLANT              13 +#define SBSECRETS_STATE_USED_GOLD_SHIELD        14 +#define SBSECRETS_STATE_USED_SILVER_SHIELD      15 +#define SBSECRETS_STATE_USED_GLASS_ORNAMENT     16 +#define SBSECRETS_STATE_USED_TV                 17 +#define SBSECRETS_STATE_USED_MUD_BALL           18 +#define SBSECRETS_STATE_USED_BAG                19 +#define SBSECRETS_STATE_USED_CUSHION            20 +#define SBSECRETS_STATE_HIT_CUSHION             21 +#define SBSECRETS_STATE_HUGGED_CUSHION          22 +#define SBSECRETS_STATE_BATTLED_WON             23 +#define SBSECRETS_STATE_BATTLED_LOST            24 +#define SBSECRETS_STATE_DECLINED_BATTLE         25 +#define SBSECRETS_STATE_USED_POSTER             26 +#define SBSECRETS_STATE_USED_NOTE_MAT           27 +#define SBSECRETS_STATE_BATTLED_DRAW            28 +#define SBSECRETS_STATE_USED_SPIN_MAT           29 +#define SBSECRETS_STATE_USED_SAND_ORNAMENT      30 +#define SBSECRETS_STATE_USED_DESK               31 +#define SBSECRETS_STATE_USED_BRICK              32 +#define SBSECRETS_STATE_USED_SOLID_BOARD        33 +#define SBSECRETS_STATE_USED_FENCE              34 +#define SBSECRETS_STATE_USED_GLITTER_MAT        35 +#define SBSECRETS_STATE_USED_TIRE               36 +#define SBSECRETS_STATE_USED_STAND              37 +#define SBSECRETS_STATE_USED_BREAKABLE_DOOR     38 +#define SBSECRETS_STATE_USED_DOLL               39 +#define SBSECRETS_STATE_USED_SLIDE              40 +#define SBSECRETS_STATE_DECLINED_SLIDE          41 +#define SBSECRETS_STATE_USED_JUMP_MAT           42 +#define SBSECRETS_NUM_STATES                    43 + +// The below flags are set when interacting with objects in a friends secret base +// Theyre set as bits in a var, and with 32 flags they're spread across 2 vars + +// VAR_SECRET_BASE_LOW_TV_FLAGS +#define SECRET_BASE_USED_CHAIR          (1 << 0) +#define SECRET_BASE_USED_BALLOON        (1 << 1) +#define SECRET_BASE_USED_TENT           (1 << 2) +#define SECRET_BASE_USED_PLANT          (1 << 3) +#define SECRET_BASE_USED_GOLD_SHIELD    (1 << 4) +#define SECRET_BASE_USED_SILVER_SHIELD  (1 << 5) +#define SECRET_BASE_USED_GLASS_ORNAMENT (1 << 6) +#define SECRET_BASE_USED_TV             (1 << 7) +#define SECRET_BASE_USED_MUD_BALL       (1 << 8) +#define SECRET_BASE_USED_BAG            (1 << 9) +#define SECRET_BASE_USED_CUSHION        (1 << 10) +#define SECRET_BASE_BATTLED_WON         (1 << 11) +#define SECRET_BASE_BATTLED_LOST        (1 << 12) +#define SECRET_BASE_DECLINED_BATTLE     (1 << 13) +#define SECRET_BASE_USED_POSTER         (1 << 14) +#define SECRET_BASE_USED_NOTE_MAT       (1 << 15) + +// VAR_SECRET_BASE_HIGH_TV_FLAGS +#define SECRET_BASE_BATTLED_DRAW        (1 << 0) +#define SECRET_BASE_USED_SPIN_MAT       (1 << 1) +#define SECRET_BASE_USED_SAND_ORNAMENT  (1 << 2) +#define SECRET_BASE_USED_DESK           (1 << 3) +#define SECRET_BASE_USED_BRICK          (1 << 4) +#define SECRET_BASE_USED_SOLID_BOARD    (1 << 5) +#define SECRET_BASE_USED_FENCE          (1 << 6) +#define SECRET_BASE_USED_GLITTER_MAT    (1 << 7) +#define SECRET_BASE_USED_TIRE           (1 << 8) +#define SECRET_BASE_USED_STAND          (1 << 9) +#define SECRET_BASE_USED_BREAKABLE_DOOR (1 << 10) +#define SECRET_BASE_USED_DOLL           (1 << 11) +#define SECRET_BASE_USED_SLIDE          (1 << 12) +#define SECRET_BASE_DECLINED_SLIDE      (1 << 13) +#define SECRET_BASE_USED_JUMP_MAT       (1 << 14) +#define SECRET_BASE_UNUSED_FLAG         (1 << 15) + +#define NUM_SECRET_BASE_FLAGS  32  // by definition, bitfield of 2 u16s + + +#endif //GUARD_CONSTANTS_TV_H diff --git a/include/constants/union_room.h b/include/constants/union_room.h new file mode 100644 index 000000000..2314f85a0 --- /dev/null +++ b/include/constants/union_room.h @@ -0,0 +1,28 @@ +#ifndef GUARD_CONSTANTS_UNION_ROOM_H +#define GUARD_CONSTANTS_UNION_ROOM_H + +#define LINK_GROUP_SINGLE_BATTLE        0 +#define LINK_GROUP_DOUBLE_BATTLE        1 +#define LINK_GROUP_MULTI_BATTLE         2 +#define LINK_GROUP_TRADE                3 +#define LINK_GROUP_POKEMON_JUMP         4 +#define LINK_GROUP_BERRY_CRUSH          5 +#define LINK_GROUP_BERRY_PICKING        6 +#define LINK_GROUP_WONDER_CARD          7 +#define LINK_GROUP_WONDER_NEWS          8 +#define LINK_GROUP_UNK_9                9 +#define LINK_GROUP_UNK_10               10 +#define LINK_GROUP_UNK_11               11 +#define LINK_GROUP_RECORD_CORNER        12 +#define LINK_GROUP_BERRY_BLENDER        13 +#define LINK_GROUP_UNK_14               14 +#define LINK_GROUP_COOL_CONTEST         15 +#define LINK_GROUP_BEAUTY_CONTEST       16 +#define LINK_GROUP_CUTE_CONTEST         17 +#define LINK_GROUP_SMART_CONTEST        18 +#define LINK_GROUP_TOUGH_CONTEST        19 +#define LINK_GROUP_BATTLE_TOWER         20 +#define LINK_GROUP_BATTLE_TOWER_OPEN    21 +#define NUM_LINK_GROUP_TYPES            22 + +#endif //GUARD_CONSTANTS_UNION_ROOM_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 6b213c8cc..7f622b6e3 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -5,22 +5,24 @@  // temporary vars  // The first 0x10 vars are are temporary--they are cleared every time a map is loaded. -#define VAR_TEMP_0                 0x4000 -#define VAR_TEMP_1                 0x4001 -#define VAR_TEMP_2                 0x4002 -#define VAR_TEMP_3                 0x4003 -#define VAR_TEMP_4                 0x4004 -#define VAR_TEMP_5                 0x4005 -#define VAR_TEMP_6                 0x4006 -#define VAR_TEMP_7                 0x4007 -#define VAR_TEMP_8                 0x4008 -#define VAR_TEMP_9                 0x4009 -#define VAR_TEMP_A                 0x400A -#define VAR_TEMP_B                 0x400B -#define VAR_TEMP_C                 0x400C -#define VAR_TEMP_D                 0x400D -#define VAR_TEMP_E                 0x400E -#define VAR_TEMP_F                 0x400F +#define TEMP_VARS_START            0x4000 +#define VAR_TEMP_0                 (TEMP_VARS_START + 0x0) +#define VAR_TEMP_1                 (TEMP_VARS_START + 0x1) +#define VAR_TEMP_2                 (TEMP_VARS_START + 0x2) +#define VAR_TEMP_3                 (TEMP_VARS_START + 0x3) +#define VAR_TEMP_4                 (TEMP_VARS_START + 0x4) +#define VAR_TEMP_5                 (TEMP_VARS_START + 0x5) +#define VAR_TEMP_6                 (TEMP_VARS_START + 0x6) +#define VAR_TEMP_7                 (TEMP_VARS_START + 0x7) +#define VAR_TEMP_8                 (TEMP_VARS_START + 0x8) +#define VAR_TEMP_9                 (TEMP_VARS_START + 0x9) +#define VAR_TEMP_A                 (TEMP_VARS_START + 0xA) +#define VAR_TEMP_B                 (TEMP_VARS_START + 0xB) +#define VAR_TEMP_C                 (TEMP_VARS_START + 0xC) +#define VAR_TEMP_D                 (TEMP_VARS_START + 0xD) +#define VAR_TEMP_E                 (TEMP_VARS_START + 0xE) +#define VAR_TEMP_F                 (TEMP_VARS_START + 0xF) +#define TEMP_VARS_END              VAR_TEMP_F  // object gfx id vars  // These 0x10 vars are used to dynamically control a map object's sprite. @@ -61,26 +63,26 @@  #define VAR_0x402E                           0x402E  #define VAR_FRONTIER_MANIAC_FACILITY         0x402F -#define VAR_FRONTIER_GAMBLER_FACILITY        0x4030 -#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F  0x4031 +#define VAR_FRONTIER_GAMBLER_CHALLENGE       0x4030 +#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE   0x4031  #define VAR_FRONTIER_GAMBLER_AMOUNT_BET      0x4032 -#define VAR_FRONTIER_GAMBLER_PLACED_BET_F    0x4033 +#define VAR_FRONTIER_GAMBLER_STATE           0x4033  #define VAR_DEOXYS_ROCK_STEP_COUNT           0x4034  #define VAR_DEOXYS_ROCK_LEVEL                0x4035 -#define VAR_STORAGE_UNKNOWN                  0x4036 -#define VAR_UNUSUAL_WEATHER_LOCATION         0x4037 -#define VAR_UNUSUAL_WEATHER_STEP_COUNTER     0x4038 -#define VAR_SHOULD_END_UNUSUAL_WEATHER       0x4039 +#define VAR_PC_BOX_TO_SEND_MON               0x4036 +#define VAR_ABNORMAL_WEATHER_LOCATION        0x4037 +#define VAR_ABNORMAL_WEATHER_STEP_COUNTER    0x4038 +#define VAR_SHOULD_END_ABNORMAL_WEATHER      0x4039  #define VAR_FARAWAY_ISLAND_STEP_COUNTER      0x403A  #define VAR_REGICE_STEPS_1                   0x403B  #define VAR_REGICE_STEPS_2                   0x403C  #define VAR_REGICE_STEPS_3                   0x403D  #define VAR_ALTERING_CAVE_WILD_SET           0x403E -#define VAR_ALWAYS_ZERO_0x403F               0x403F // This var is read and written, but is always zero. +#define VAR_DISTRIBUTE_EON_TICKET            0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing  #define VAR_DAYS                             0x4040 -#define VAR_FANCLUB_UNKNOWN_1                0x4041 -#define VAR_FANCLUB_UNKNOWN_2                0x4042 +#define VAR_FANCLUB_FAN_COUNTER              0x4041 +#define VAR_FANCLUB_LOSE_FAN_TIMER           0x4042  #define VAR_DEPT_STORE_FLOOR                 0x4043  #define VAR_TRICK_HOUSE_LEVEL                0x4044  #define VAR_POKELOT_PRIZE_ITEM               0x4045 @@ -144,17 +146,17 @@  #define VAR_ROUTE132_STATE                   0x407F // Unused Var  #define VAR_ROUTE133_STATE                   0x4080 // Unused Var  #define VAR_ROUTE134_STATE                   0x4081 // Unused Var -#define VAR_LITTLEROOT_HOUSES_STATE          0x4082 +#define VAR_LITTLEROOT_HOUSES_STATE_MAY      0x4082  #define VAR_UNUSED_0x4083                    0x4083 // Unused Var  #define VAR_BIRCH_LAB_STATE                  0x4084 -#define VAR_PETALBURG_GYM_STATE              0x4085 -#define VAR_LINK_CONTEST_ROOM_STATE          0x4086 +#define VAR_PETALBURG_GYM_STATE              0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman  +#define VAR_CONTEST_HALL_STATE               0x4086  #define VAR_CABLE_CLUB_STATE                 0x4087 -#define VAR_CONTEST_LOCATION                 0x4088 +#define VAR_CONTEST_TYPE                     0x4088  #define VAR_SECRET_BASE_INITIALIZED          0x4089  #define VAR_CONTEST_PRIZE_PICKUP             0x408A  #define VAR_UNUSED_0x408B                    0x408B // Unused Var -#define VAR_LITTLEROOT_HOUSES_STATE_2        0x408C +#define VAR_LITTLEROOT_HOUSES_STATE_BRENDAN  0x408C  #define VAR_LITTLEROOT_RIVAL_STATE           0x408D  #define VAR_BOARD_BRINEY_BOAT_STATE          0x408E  #define VAR_DEVON_CORP_3F_STATE              0x408F @@ -172,16 +174,16 @@  #define VAR_UNUSED_0x409B                    0x409B // Unused Var  #define VAR_ELITE_4_STATE                    0x409C  #define VAR_UNUSED_0x409D                    0x409D // Unused Var -#define VAR_MOSSDEEP_SPACE_CENTER_STATE_1    0x409E -#define VAR_MOSSDEEP_SPACE_CENTER_STATE_2    0x409F +#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE    0x409E +#define VAR_MOSSDEEP_SPACE_CENTER_STATE      0x409F  #define VAR_SLATEPORT_HARBOR_STATE           0x40A0  #define VAR_UNUSED_0x40A1                    0x40A1 // Unused var  #define VAR_SEAFLOOR_CAVERN_STATE            0x40A2  #define VAR_CABLE_CAR_STATION_STATE          0x40A3 -#define VAR_SAFARI_ZONE_STATE                0x40A4 -#define VAR_TRICK_HOUSE_ENTRANCE_STATE_1     0x40A5 -#define VAR_TRICK_HOUSE_ENTRANCE_STATE_2     0x40A6 -#define VAR_TRICK_HOUSE_ENTRANCE_STATE_3     0x40A7 +#define VAR_SAFARI_ZONE_STATE                0x40A4  // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ +#define VAR_TRICK_HOUSE_BEING_WATCHED_STATE  0x40A5 +#define VAR_TRICK_HOUSE_FOUND_TRICK_MASTER   0x40A6 +#define VAR_TRICK_HOUSE_ENTRANCE_STATE       0x40A7  #define VAR_UNUSED_0x40A8                    0x40A8 // Unused Var  #define VAR_CYCLING_CHALLENGE_STATE          0x40A9  #define VAR_SLATEPORT_MUSEUM_1F_STATE        0x40AA @@ -194,9 +196,9 @@  #define VAR_TRICK_HOUSE_PUZZLE_7_STATE       0x40B1  #define VAR_TRICK_HOUSE_PUZZLE_8_STATE       0x40B2  #define VAR_WEATHER_INSTITUTE_STATE          0x40B3 -#define VAR_PORTHOLE_STATE                   0x40B4 -#define VAR_TRICK_HOUSE_STATE                0x40B5 // TODO: needs some further investigation -#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2     0x40B6 +#define VAR_SS_TIDAL_STATE                   0x40B4 +#define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR  0x40B5 +#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2     0x40B6 // Leftover from RS, never set  #define VAR_SLATEPORT_FAN_CLUB_STATE         0x40B7  #define VAR_UNUSED_0x40B8                    0x40B8 // Unused Var  #define VAR_MT_PYRE_STATE                    0x40B9 @@ -257,9 +259,9 @@  #define VAR_SECRET_BASE_IS_NOT_LOCAL         0x40F0 // Set to TRUE while in another player's secret base.  #define VAR_DAILY_BP                         0x40F1  #define VAR_WALLY_CALL_STEP_COUNTER          0x40F2 -#define VAR_WINONA_CALL_STEP_COUNTER         0x40F3 +#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER  0x40F3  #define VAR_ROXANNE_CALL_STEP_COUNTER        0x40F4 -#define VAR_SCOTT_CALL_STEP_COUNTER          0x40F5 +#define VAR_SCOTT_BF_CALL_STEP_COUNTER       0x40F5  #define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6  #define VAR_UNUSED_0x40F7                    0x40F7 // Unused Var  #define VAR_UNUSED_0x40F8                    0x40F8 // Unused Var @@ -271,7 +273,9 @@  #define VAR_UNUSED_0x40FE                    0x40FE // Unused Var  #define VAR_UNUSED_0x40FF                    0x40FF // Unused Var -#define SPECIAL_VARS_START 0x8000 +#define VARS_END                             0x40FF + +#define SPECIAL_VARS_START            0x8000  // special vars  // They are commonly used as parameters to commands, or return values from commands.  #define VAR_0x8000                    0x8000 @@ -297,4 +301,6 @@  #define VAR_UNUSED_0x8014             0x8014  #define VAR_TRAINER_BATTLE_OPPONENT_A 0x8015 // Alias of gTrainerBattleOpponent_A +#define SPECIAL_VARS_END              0x8015 +  #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/constants/weather.h b/include/constants/weather.h index b01cfb390..98a0a2e1e 100644 --- a/include/constants/weather.h +++ b/include/constants/weather.h @@ -1,66 +1,66 @@  #ifndef GUARD_CONSTANTS_WEATHER_H  #define GUARD_CONSTANTS_WEATHER_H -#define WEATHER_NONE           0 -#define WEATHER_CLOUDS         1 -#define WEATHER_SUNNY          2 -#define WEATHER_RAIN_LIGHT     3 -#define WEATHER_SNOW           4 -#define WEATHER_RAIN_MED       5 -#define WEATHER_FOG_1          6 -#define WEATHER_ASH            7 -#define WEATHER_SANDSTORM      8 -#define WEATHER_FOG_2          9 -#define WEATHER_FOG_3          10 -#define WEATHER_SHADE          11 -#define WEATHER_DROUGHT        12 -#define WEATHER_RAIN_HEAVY     13 -#define WEATHER_BUBBLES        14 -#define WEATHER_ALTERNATING    15 -#define WEATHER_ROUTE119_CYCLE 20 -#define WEATHER_ROUTE123_CYCLE 21 +#define WEATHER_NONE                    0 +#define WEATHER_SUNNY_CLOUDS            1 +#define WEATHER_SUNNY                   2 +#define WEATHER_RAIN                    3 +#define WEATHER_SNOW                    4   // Unused +#define WEATHER_RAIN_THUNDERSTORM       5 +#define WEATHER_FOG_HORIZONTAL          6 +#define WEATHER_VOLCANIC_ASH            7 +#define WEATHER_SANDSTORM               8 +#define WEATHER_FOG_DIAGONAL            9   // Unused +#define WEATHER_UNDERWATER              10  // Unused +#define WEATHER_SHADE                   11  // Original name was closer to WEATHER_CLOUDY/OVERCAST +#define WEATHER_DROUGHT                 12 +#define WEATHER_DOWNPOUR                13 +#define WEATHER_UNDERWATER_BUBBLES      14 +#define WEATHER_ABNORMAL                15  // The alternating weather during Groudon/Kyogre conflict  +#define WEATHER_ROUTE119_CYCLE          20 +#define WEATHER_ROUTE123_CYCLE          21  // These are used in maps' coord_weather_event entries.  // They are not a one-to-one mapping with the engine's  // internal weather constants above. -#define COORD_EVENT_WEATHER_CLOUDS         1 -#define COORD_EVENT_WEATHER_SUNNY          2 -#define COORD_EVENT_WEATHER_RAIN_LIGHT     3 -#define COORD_EVENT_WEATHER_SNOW           4 -#define COORD_EVENT_WEATHER_RAIN_MED       5 -#define COORD_EVENT_WEATHER_FOG_1          6 -#define COORD_EVENT_WEATHER_FOG_2          7 -#define COORD_EVENT_WEATHER_ASH            8 -#define COORD_EVENT_WEATHER_SANDSTORM      9 -#define COORD_EVENT_WEATHER_SHADE          10 -#define COORD_EVENT_WEATHER_DROUGHT        11 -#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20 -#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21 +#define COORD_EVENT_WEATHER_SUNNY_CLOUDS        1 +#define COORD_EVENT_WEATHER_SUNNY               2 +#define COORD_EVENT_WEATHER_RAIN                3 +#define COORD_EVENT_WEATHER_SNOW                4 +#define COORD_EVENT_WEATHER_RAIN_THUNDERSTORM   5 +#define COORD_EVENT_WEATHER_FOG_HORIZONTAL      6 +#define COORD_EVENT_WEATHER_FOG_DIAGONAL        7 +#define COORD_EVENT_WEATHER_VOLCANIC_ASH        8 +#define COORD_EVENT_WEATHER_SANDSTORM           9 +#define COORD_EVENT_WEATHER_SHADE               10 +#define COORD_EVENT_WEATHER_DROUGHT             11 +#define COORD_EVENT_WEATHER_ROUTE119_CYCLE      20 +#define COORD_EVENT_WEATHER_ROUTE123_CYCLE      21 -// These are the "unusual weather events" that are used +// These are the "abnormal weather events" that are used  // to find Kyogre and Groudon. -#define UNUSUAL_WEATHER_COUNT_PER_LEGENDARY 8 -#define UNUSUAL_WEATHER_GROUDON_LOCATIONS_START 1 -#define UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START 1 + UNUSUAL_WEATHER_COUNT_PER_LEGENDARY +#define ABNORMAL_WEATHER_COUNT_PER_LEGENDARY      8 +#define ABNORMAL_WEATHER_GROUDON_LOCATIONS_START  1 +#define ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START   1 + ABNORMAL_WEATHER_COUNT_PER_LEGENDARY -#define UNUSUAL_WEATHER_NONE 0 +#define ABNORMAL_WEATHER_NONE 0  // Groudon locations -#define UNUSUAL_WEATHER_ROUTE_114_NORTH 1 -#define UNUSUAL_WEATHER_ROUTE_114_SOUTH 2 -#define UNUSUAL_WEATHER_ROUTE_115_WEST 3 -#define UNUSUAL_WEATHER_ROUTE_115_EAST 4 -#define UNUSUAL_WEATHER_ROUTE_116_NORTH 5 -#define UNUSUAL_WEATHER_ROUTE_116_SOUTH 6 -#define UNUSUAL_WEATHER_ROUTE_118_EAST 7 -#define UNUSUAL_WEATHER_ROUTE_118_WEST 8 +#define ABNORMAL_WEATHER_ROUTE_114_NORTH    1 +#define ABNORMAL_WEATHER_ROUTE_114_SOUTH    2 +#define ABNORMAL_WEATHER_ROUTE_115_WEST     3 +#define ABNORMAL_WEATHER_ROUTE_115_EAST     4 +#define ABNORMAL_WEATHER_ROUTE_116_NORTH    5 +#define ABNORMAL_WEATHER_ROUTE_116_SOUTH    6 +#define ABNORMAL_WEATHER_ROUTE_118_EAST     7 +#define ABNORMAL_WEATHER_ROUTE_118_WEST     8  // Kyogre locations -#define UNUSUAL_WEATHER_ROUTE_105_NORTH 9 -#define UNUSUAL_WEATHER_ROUTE_105_SOUTH 10 -#define UNUSUAL_WEATHER_ROUTE_125_WEST 11 -#define UNUSUAL_WEATHER_ROUTE_125_EAST 12 -#define UNUSUAL_WEATHER_ROUTE_127_NORTH 13 -#define UNUSUAL_WEATHER_ROUTE_127_SOUTH 14 -#define UNUSUAL_WEATHER_ROUTE_129_WEST 15 -#define UNUSUAL_WEATHER_ROUTE_129_EAST 16 +#define ABNORMAL_WEATHER_ROUTE_105_NORTH    9 +#define ABNORMAL_WEATHER_ROUTE_105_SOUTH    10 +#define ABNORMAL_WEATHER_ROUTE_125_WEST     11 +#define ABNORMAL_WEATHER_ROUTE_125_EAST     12 +#define ABNORMAL_WEATHER_ROUTE_127_NORTH    13 +#define ABNORMAL_WEATHER_ROUTE_127_SOUTH    14 +#define ABNORMAL_WEATHER_ROUTE_129_WEST     15 +#define ABNORMAL_WEATHER_ROUTE_129_EAST     16  #endif // GUARD_CONSTANTS_WEATHER_H | 
