diff options
Diffstat (limited to 'include')
72 files changed, 2128 insertions, 1688 deletions
| diff --git a/include/apprentice.h b/include/apprentice.h index 195106c53..27ce0371e 100644 --- a/include/apprentice.h +++ b/include/apprentice.h @@ -1,21 +1,21 @@  #ifndef GUARD_APPRENTICE_H  #define GUARD_APPRENTICE_H -#define APPRENTICE_SPECIES_COUNT 10 +#include "constants/apprentice.h"  struct ApprenticeTrainer  { -    u8 name[6][PLAYER_NAME_LENGTH + 1]; // For all six languages. +    u8 name[NUM_LANGUAGES - 1][PLAYER_NAME_LENGTH + 1]; // For all languages except the unused one.      u16 otId;      u8 facilityClass;      u16 species[APPRENTICE_SPECIES_COUNT];      u8 id; -    u16 easyChatWords[6]; +    u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT];  };  extern const struct ApprenticeTrainer gApprentices[]; -void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId); +void BufferApprenticeChallengeText(u8 saveApprenticeId);  void Apprentice_EnableBothScriptContexts(void);  void ResetApprenticeStruct(struct Apprentice *apprentice);  void ResetAllApprenticeData(void); diff --git a/include/battle.h b/include/battle.h index 32eabc6de..f8c685fb0 100644 --- a/include/battle.h +++ b/include/battle.h @@ -478,7 +478,7 @@ struct BattleScripting      u8 animArg1;      u8 animArg2;      u16 tripleKickPower; -    u8 atk49_state; +    u8 moveendState;      u8 battlerWithAbility;      u8 multihitMoveEffect;      u8 battler; @@ -486,9 +486,9 @@ struct BattleScripting      u8 animTargetsHit;      u8 statChanger;      bool8 statAnimPlayed; -    u8 atk23_state; +    u8 getexpState;      u8 battleStyle; -    u8 atk6C_state; +    u8 drawlvlupboxState;      u8 learnMoveState;      u8 field_20;      u8 reshowMainState; diff --git a/include/battle_bg.h b/include/battle_bg.h index dac41c992..167ea5cf7 100644 --- a/include/battle_bg.h +++ b/include/battle_bg.h @@ -2,11 +2,11 @@  #define GUARD_BATTLE_BG_H  void BattleInitBgsAndWindows(void); -void sub_80356D0(void); +void InitBattleBgsVideo(void);  void LoadBattleMenuWindowGfx(void);  void DrawMainBattleBackground(void);  void LoadBattleTextboxAndBackground(void); -void sub_8035D74(u8 taskId); +void InitLinkBattleVsScreen(u8 taskId);  void DrawBattleEntryBackground(void);  bool8 LoadChosenBattleElement(u8 caseId); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 365229fda..32918fefb 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -248,8 +248,8 @@ void nullsub_21(void);  void PlayerHandleGetRawMonData(void);  void sub_80587B0(void);  void sub_805CC00(struct Sprite *sprite); -void SetCB2ToReshowScreenAfterMenu(void); -void SetCB2ToReshowScreenAfterMenu2(void); +void CB2_SetUpReshowBattleScreenAfterMenu(void); +void CB2_SetUpReshowBattleScreenAfterMenu2(void);  void c3_0802FDF4(u8 taskId);  void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused);  void ActionSelectionDestroyCursorAt(u8 cursorPos); diff --git a/include/battle_main.h b/include/battle_main.h index c134f819f..e04db17bb 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -77,20 +77,20 @@ void sub_803B3AC(void); // unused  void sub_803B598(void); // unused  void BattleTurnPassed(void);  u8 IsRunningFromBattleImpossible(void); -void sub_803BDA0(u8 battlerId); +void SwitchPartyOrder(u8 battlerId);  void SwapTurnOrder(u8 id1, u8 id2);  u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves);  void RunBattleScriptCommands_PopCallbacksStack(void);  void RunBattleScriptCommands(void);  bool8 TryRunFromBattle(u8 battlerId); -extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3]; +extern struct UnknownPokemonStruct4 gMultiPartnerParty[MULTI_PARTY_SIZE];  extern const struct SpriteTemplate gUnknown_0831AC88;  extern const struct OamData gOamData_831ACA8;  extern const struct OamData gOamData_831ACB0;  extern const u8 gTypeEffectiveness[336]; -extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1]; +extern const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1];  extern const struct TrainerMoney gTrainerMoneyTable[];  extern const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1];  extern const u8 *const gAbilityDescriptionPointers[]; diff --git a/include/battle_message.h b/include/battle_message.h index 88ccbb90f..1157fbfae 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -213,7 +213,7 @@ struct BattleMsgData  void BufferStringBattle(u16 stringID);  u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src);  u32 BattleStringExpandPlaceholders(const u8* src, u8* dst); -void BattlePutTextOnWindow(const u8* text, u8 arg1); +void BattlePutTextOnWindow(const u8* text, u8 windowId);  void SetPpNumbersPaletteInMoveSelection(void);  u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h index c3b799a4d..f0c6e7ee4 100644 --- a/include/battle_pyramid_bag.h +++ b/include/battle_pyramid_bag.h @@ -36,13 +36,13 @@ extern struct PyramidBagCursorData gPyramidBagCursorData;  void InitBattlePyramidBagCursorPosition(void);  void CB2_PyramidBagMenuFromStartMenu(void); -void sub_81C4F84(void); +void CB2_ReturnToPyramidBagMenu(void);  void sub_81C5924(void);  void sub_81C59BC(void);  void sub_81C4EFC(void); -void sub_81C4F98(u8 a0, void (*callback)(void)); +void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void));  void sub_81C6714(u8 taskId); -void sub_81C6A94(void); +void TryStoreHeldItemsInPyramidBag(void);  void sub_81C4F24(void);  void sub_81C5B14(u8 taskId);  void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId)); diff --git a/include/battle_tower.h b/include/battle_tower.h index 8bc6e6554..2366cac12 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -48,7 +48,7 @@ extern u16 gUnknown_03006298[];  extern const struct BattleFrontierTrainer *gFacilityTrainers;  extern const struct FacilityMon *gFacilityTrainerMons; -void sub_8161F74(void); +void CallBattleTowerFunc(void);  u16 sub_8162548(u8 challengeNum, u8 battleNum);  void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId);  void SetEReaderTrainerGfxId(void); diff --git a/include/battle_util.h b/include/battle_util.h index 0756a387a..b77fa10ad 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -12,7 +12,7 @@  #define ABILITYEFFECT_ENDTURN                    0x1  #define ABILITYEFFECT_MOVES_BLOCK                0x2  #define ABILITYEFFECT_ABSORBING                  0x3 -#define ABILITYEFFECT_MOVE_END                   0x4 +#define ABILITYEFFECT_ON_DAMAGE                  0x4  #define ABILITYEFFECT_IMMUNITY                   0x5  #define ABILITYEFFECT_FORECAST                   0x6  #define ABILITYEFFECT_SYNCHRONIZE                0x7 diff --git a/include/battle_util2.h b/include/battle_util2.h index 336698ea3..fe767ea4b 100644 --- a/include/battle_util2.h +++ b/include/battle_util2.h @@ -4,7 +4,7 @@  void AllocateBattleResources(void);  void FreeBattleResources(void);  void AdjustFriendshipOnBattleFaint(u8 battler); -void sub_80571DC(u8 battler, u8 arg1); +void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1);  u32 sub_805725C(u8 battler);  #endif // GUARD_BATTLE_UTIL_H diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h index 9db58bb8e..63434a4fc 100644 --- a/include/constants/apprentice.h +++ b/include/constants/apprentice.h @@ -1,22 +1,88 @@  #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 + +#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_frontier.h b/include/constants/battle_frontier.h index d287dd2db..54d50c18a 100644 --- a/include/constants/battle_frontier.h +++ b/include/constants/battle_frontier.h @@ -4,16 +4,17 @@  #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 +#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 FACILITY_UNION_ROOM        8 +#define FACILITY_MULTI_OR_EREADER  9  // Direct Corner multi battles, multi battle with Steven, and e-Reader battles  #define TENT_VERDANTURF 2  #define TENT_FALLARBOR 3 @@ -45,18 +46,30 @@  #define MAX_BATTLE_FRONTIER_POINTS 9999 -// Frontier Maniac -#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_MULTIS   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 +// 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 @@ -76,6 +89,11 @@  // For 'ShowFacilityResultsWindow' function which is a part of the 'CallFrontierUtilFunc' special.  #define RESULTS_LINK_CONTEST 7 +#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)  #define F_EV_SPREAD_DEFENSE    (1 << 2) 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_tower.h b/include/constants/battle_tower.h new file mode 100644 index 000000000..508656fab --- /dev/null +++ b/include/constants/battle_tower.h @@ -0,0 +1,21 @@ +#ifndef GUARD_CONSTANTS_BATTLE_TOWER_H +#define GUARD_CONSTANTS_BATTLE_TOWER_H + +#define BATTLE_TOWER_FUNC_0               0 +#define BATTLE_TOWER_FUNC_1               1 +#define BATTLE_TOWER_FUNC_2               2 +#define BATTLE_TOWER_FUNC_CHOOSE_TRAINER  3 +#define BATTLE_TOWER_FUNC_4               4 +#define BATTLE_TOWER_FUNC_GIVE_RIBBONS    5 +#define BATTLE_TOWER_FUNC_SAVE            6 +#define BATTLE_TOWER_FUNC_7               7 +#define BATTLE_TOWER_FUNC_NOP             8 +#define BATTLE_TOWER_FUNC_NOP2            9 +#define BATTLE_TOWER_FUNC_10              10 +#define BATTLE_TOWER_FUNC_11              11 +#define BATTLE_TOWER_FUNC_12              12 +#define BATTLE_TOWER_FUNC_13              13 +#define BATTLE_TOWER_FUNC_14              14 +#define BATTLE_TOWER_FUNC_15              15 + +#endif //GUARD_CONSTANTS_BATTLE_TOWER_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/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/field_specials.h b/include/constants/field_specials.h index 5ec38d1d4..5dde18058 100644 --- a/include/constants/field_specials.h +++ b/include/constants/field_specials.h @@ -13,6 +13,19 @@  #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 @@ -49,4 +62,17 @@  #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/flags.h b/include/constants/flags.h index e9f9aa770..1eb8a0673 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -87,7 +87,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 +95,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 @@ -119,13 +119,13 @@  #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 +146,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 +163,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 +207,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 +261,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 +287,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 +330,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,17 +353,17 @@  #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_NURSE_MENTIONS_GOLD_CARD        0x159  #define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR  0x15A @@ -493,7 +491,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 @@ -650,6 +648,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,16 +777,16 @@  #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_EVENT_TICKET_TAKER                0x2EC  #define FLAG_HIDE_SLATEPORT_CITY_SCOTT                              0x2ED @@ -720,7 +807,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 +847,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 +865,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 +913,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 +934,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 +968,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 @@ -938,8 +1023,8 @@  #define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE      0x3D4  #define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE                  0x3D5  #define FLAG_HIDE_ROUTE_120_KECLEON_1                               0x3D6 -#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN                        0x3D7 -#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN          0x3D8 +#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 @@ -948,7 +1033,7 @@  #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 @@ -1552,6 +1637,6 @@  #define FLAG_DONT_TRANSITION_MUSIC                                 0x4001  #define FLAG_SPECIAL_FLAG_0x4002                                   0x4002  #define FLAG_SPECIAL_FLAG_0x4003                                   0x4003 -#define FLAG_SPECIAL_FLAG_0x4004                                   0x4004 +#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG                          0x4004  #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..52bde509f --- /dev/null +++ b/include/constants/frontier_util.h @@ -0,0 +1,32 @@ +#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 + +#define FRONTIER_UTIL_FUNC_0                      0 +#define FRONTIER_UTIL_FUNC_1                      1 +#define FRONTIER_UTIL_FUNC_2                      2 +#define FRONTIER_UTIL_FUNC_LOAD_SELECTED_PARTY    3 +#define FRONTIER_UTIL_FUNC_SOFT_RESET             4 +#define FRONTIER_UTIL_FUNC_SET_FRONTIER_TRAINERS  5 +#define FRONTIER_UTIL_FUNC_6                      6 +#define FRONTIER_UTIL_FUNC_RESULTS_WINDOW         7 +#define FRONTIER_UTIL_FUNC_8                      8 +#define FRONTIER_UTIL_FUNC_9                      9 +#define FRONTIER_UTIL_FUNC_IS_FRONTIER_BRAIN      10 +#define FRONTIER_UTIL_FUNC_11                     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_15                     15 +#define FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER    16 +#define FRONTIER_UTIL_FUNC_17                     17 +#define FRONTIER_UTIL_FUNC_18                     18 +#define FRONTIER_UTIL_FUNC_19                     19 +#define FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME    20 +#define FRONTIER_UTIL_FUNC_21                     21 +#define FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT       22 + +#endif // GUARD_CONSTANTS_FRONTIER_UTIL_H diff --git a/include/constants/global.h b/include/constants/global.h index 091f735f4..3ee7650a8 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) @@ -48,12 +49,16 @@  #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 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 PARTY_SIZE 6 +#define FRONTIER_PARTY_SIZE 3 +#define MULTI_PARTY_SIZE PARTY_SIZE / 2  #define MAX_MON_MOVES 4  // string lengths @@ -61,12 +66,17 @@  #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  #define OPTIONS_BUTTON_MODE_L_EQUALS_A 2 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..fe905a2c6 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 @@ -398,7 +398,7 @@  #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..bedaaca2a 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_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_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 2f3ce5f71..58ac90eab 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -149,8 +149,8 @@  #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 @@ -255,10 +255,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 @@ -381,7 +381,7 @@  #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 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..9917b84ba 100644 --- a/include/constants/opponents.h +++ b/include/constants/opponents.h @@ -1,862 +1,862 @@  #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_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_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_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_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_10                  592 +#define TRAINER_BRENDAN_11                  593 +#define TRAINER_PAXTON                      594 +#define TRAINER_ISABELLA                    595 +#define TRAINER_GRUNT_WEATHER_INST_5        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_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_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 TRAINERS_COUNT          855 +#define TRAINERS_COUNT                      855  #endif  // GUARD_CONSTANTS_OPPONENTS_H diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h index 213263b47..7953967ed 100644 --- a/include/constants/party_menu.h +++ b/include/constants/party_menu.h @@ -10,13 +10,6 @@  #define AILMENT_PKRS  6  #define AILMENT_FNT   7 -#define PARTY_CHOOSE_MON        0 -#define PARTY_MUST_CHOOSE_MON   1 -#define PARTY_CANT_SWITCH       2 -#define PARTY_USE_ITEM_ON       3 -#define PARTY_ABILITY_PREVENTS  4 -#define PARTY_GIVE_ITEM         5 -  #define TUTOR_MOVE_MEGA_PUNCH      0  #define TUTOR_MOVE_SWORDS_DANCE    1  #define TUTOR_MOVE_MEGA_KICK       2 @@ -49,4 +42,91 @@  #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 5cd98d3f3..5610a470c 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -184,7 +184,6 @@  #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 @@ -193,6 +192,13 @@  #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 diff --git a/include/constants/trade.h b/include/constants/trade.h index 4fb8966d0..fa42e6b43 100644 --- a/include/constants/trade.h +++ b/include/constants/trade.h @@ -20,13 +20,13 @@  #define READY_FINISH_TRADE  1  #define FINISH_TRADE        2 -// Return values for CanTradeSelectedMon and CanTradeSelectedPartyMenuMon +// 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          3 +#define CANT_TRADE_EGG_YET      3  #define CANT_TRADE_INVALID_MON  4 -#define CANT_TRADE_EGG2         5 +#define CANT_TRADE_EGG_YET2     5  // Return values for CheckValidityOfTradeMons  #define PLAYER_MON_INVALID   0 diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index cab56a5ac..f7a270428 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_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_1 1 -#define TRAINER_HILL_FUNC_2 2 -#define TRAINER_HILL_FUNC_3 3 +#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_7 7 -#define TRAINER_HILL_FUNC_8 8 -#define TRAINER_HILL_FUNC_9 9 -#define TRAINER_HILL_FUNC_IS_IN 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_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 -// Values returned by the TrainerHillGetChallengeStatus -// function. +#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/tv.h b/include/constants/tv.h index c22bec9a3..fddf650e4 100644 --- a/include/constants/tv.h +++ b/include/constants/tv.h @@ -43,4 +43,7 @@  //                                                  //  #define TVSHOW_MASS_OUTBREAK                        41  +// Number of ribbons to put Spot the Cuties on air +#define NUM_CUTIES_RIBBONS  4 +  #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 cfafccd9b..d39323831 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -79,8 +79,8 @@  #define VAR_ALTERING_CAVE_WILD_SET           0x403E  #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 +144,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 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman  -#define VAR_LINK_CONTEST_ROOM_STATE          0x4086 +#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 +172,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  // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ -#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_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 +194,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 +257,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 diff --git a/include/contest.h b/include/contest.h index 2b1b95af5..00c3191eb 100644 --- a/include/contest.h +++ b/include/contest.h @@ -201,14 +201,6 @@ enum  };  enum { -    CONTEST_RANK_NORMAL, -    CONTEST_RANK_SUPER, -    CONTEST_RANK_HYPER, -    CONTEST_RANK_MASTER, -    CONTEST_RANK_LINK -}; - -enum {      CONTEST_FILTER_NONE,      CONTEST_FILTER_NO_POSTGAME,      CONTEST_FILTER_ONLY_POSTGAME @@ -436,15 +428,15 @@ struct ContestResources  #define eContestDebugMode (gHeap[0x1a000])  #define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004)) -extern struct ContestPokemon gContestMons[4]; -extern s16 gContestMonConditions[4]; -extern s16 gUnknown_02039F08[4]; -extern s16 gUnknown_02039F10[4]; -extern s16 gUnknown_02039F18[4]; -extern u8 gContestFinalStandings[4]; +extern struct ContestPokemon gContestMons[CONTESTANT_COUNT]; +extern s16 gContestMonConditions[CONTESTANT_COUNT]; +extern s16 gUnknown_02039F08[CONTESTANT_COUNT]; +extern s16 gUnknown_02039F10[CONTESTANT_COUNT]; +extern s16 gUnknown_02039F18[CONTESTANT_COUNT]; +extern u8 gContestFinalStandings[CONTESTANT_COUNT];  extern u8 gContestMonPartyIndex;  extern u8 gContestPlayerMonIndex; -extern u8 gContestantTurnOrder[4]; +extern u8 gContestantTurnOrder[CONTESTANT_COUNT];  extern u8 gLinkContestFlags;  extern u8 gUnknown_02039F2B;  extern u16 gSpecialVar_ContestCategory; @@ -453,7 +445,7 @@ extern u8 gNumLinkContestPlayers;  extern u8 gHighestRibbonRank;  extern struct ContestResources *gContestResources;  extern u8 sContestBgCopyFlags; -extern struct ContestWinner gUnknown_02039F3C; +extern struct ContestWinner gCurContestWinner;  extern u8 gUnknown_02039F5C;  extern u8 gUnknown_02039F5D; @@ -466,7 +458,7 @@ void CB2_StartContest(void);  void sub_80DA8C8(u8 partyIndex);  void sub_80DAB8C(u8 contestType, u8 rank);  void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame); -u8 sub_80DAE0C(struct Pokemon *pkmn); +u8 GetContestEntryEligibility(struct Pokemon *pkmn);  void sub_80DB09C(u8 contestCategory);  bool8 IsSpeciesNotUnown(u16 species);  bool8 Contest_IsMonsTurnDisabled(u8 a); diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h index b4ccf2803..add3ae62f 100644 --- a/include/contest_link_80F57C4.h +++ b/include/contest_link_80F57C4.h @@ -1,10 +1,10 @@  #ifndef GUARD_CONTEST_LINK_80F57C4_H  #define GUARD_CONTEST_LINK_80F57C4_H -void sub_80F8264(void); -void sub_80F8290(void); -void sub_80F840C(void); -void sub_80F8438(void); +void BufferContestantTrainerName(void); +void BufferContestantMonNickname(void); +void StartContest(void); +void BufferContestantMonSpecies(void);  void sub_80F8484(void);  void sub_80F84C4(u8);  void sub_80FC998(u8 taskId); diff --git a/include/contest_painting.h b/include/contest_painting.h index c633c50cc..f16a0d2f3 100644 --- a/include/contest_painting.h +++ b/include/contest_painting.h @@ -1,16 +1,7 @@  #ifndef GUARD_CONTESTPAINTING_H  #define GUARD_CONTESTPAINTING_H -enum -{ -    CONTESTRESULT_COOL = 9, -    CONTESTRESULT_BEAUTY = 13, -    CONTESTRESULT_CUTE = 2, -    CONTESTRESULT_SMART = 36, -    CONTESTRESULT_TOUGH = 6, -}; - -void sub_812FDA8(int); +void SetContestWinnerForPainting(int);  void CB2_ContestPainting(void);  #endif diff --git a/include/contest_painting_effects.h b/include/contest_painting_effects.h deleted file mode 100755 index 3b6964666..000000000 --- a/include/contest_painting_effects.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef GUARD_CONTEST_PAINTING_EFFECTS_H -#define GUARD_CONTEST_PAINTING_EFFECTS_H - -struct Unk030061A0 -{ -    u8 var_0; -    u8 pad1[3]; -    u16 (*var_4)[][32]; -    u16 *var_8; -    u8 pad0C[4]; -    u32 var_10; -    u16 var_14; -    u16 var_16; -    u8 var_18; -    u8 var_19; -    u8 var_1A; -    u8 var_1B; -    u8 var_1C; -    u8 var_1D; -    u8 var_1E; -    u8 var_1F; -}; - -void sub_8124F2C(struct Unk030061A0 *); -void sub_81261A4(struct Unk030061A0 *); -void sub_8126058(struct Unk030061A0 *); - -#endif diff --git a/include/easy_chat.h b/include/easy_chat.h index 84ac15422..221cbd1da 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -129,11 +129,11 @@ void InitializeEasyChatWordArray(u16 *words, u16 length);  u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows);  bool8 ECWord_CheckIfOutsideOfValidRange(u16 word);  u16 sub_811EE38(u16 group); -u16 sub_811F01C(void); +u16 GetNewHipsterPhraseToTeach(void);  u16 EasyChat_GetNumWordsInGroup(u8);  u16 sub_811EE90(u16);  void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType);  void sub_811F8BC(void); -void sub_811EFC0(u8 additionalPhraseId); +void UnlockAdditionalPhrase(u8 additionalPhraseId);  #endif // GUARD_EASYCHAT_H diff --git a/include/event_scripts.h b/include/event_scripts.h index a0190ea9e..3e4251cf6 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -376,16 +376,12 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];  //field effects  extern const u8 EventScript_FldEffStrength[];  extern const u8 EventScript_FailSweetScent[]; -extern const u8 EventScript_2926F8[]; +extern const u8 EventScript_FldEffFlash[];  extern const u8 EventScript_FldEffRockSmash[];  //player pc -extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[]; -extern const u8 LittlerootTown_MaysHouse_2F_EventScript_1F958F[]; - -//contest_strings -extern const u8 gText_0827D507[]; -extern const u8 gText_0827D531[]; +extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC[]; +extern const u8 LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC[];  //mauville_old_man  extern const u8 gOtherText_Is[]; @@ -407,127 +403,127 @@ extern const u8 gMauvilleManText_WhenYouSeeTheSettingSunDoesIt[];  extern const u8 gMauvilleManText_LyingBackInTheGreenGrass[];  extern const u8 gMauvilleManText_SecretBasesAreSoWonderful[]; +// mauville old man storyteller +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarStory[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsTitle[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsAction[]; +extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsStory[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E930[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E947[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E956[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9D7[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9EF[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9FE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA7D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA98[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EAA8[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB19[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB31[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB3E[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBB5[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBCD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBDD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC60[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC79[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC81[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED04[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED21[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED30[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDA1[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDB5[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDCF[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE45[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE5D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE6A[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEDD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEF1[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF01[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF73[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF95[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EFAA[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F045[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F05A[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F071[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F0F3[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F10D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F125[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1BE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1D5[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1DE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F24F[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F269[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F277[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F2FC[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F314[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F32A[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3AD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3C6[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3D2[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F44B[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F461[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F47C[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F50C[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F51B[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F538[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5BE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5D1[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5F2[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F678[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F694[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F6B4[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F751[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F76A[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F776[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F7F6[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F811[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F822[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F89C[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8AF[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8BC[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F92F[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F941[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F949[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9D1[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9EA[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9FD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA81[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA99[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FAA7[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB1D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB35[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB47[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBC4[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBD9[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBEA[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC6B[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC85[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC98[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD1D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD35[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD40[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDA2[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDBD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDCE[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE57[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE72[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE88[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF0C[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF27[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF44[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFDD[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFFA[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_29000D[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_290097[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900B5[]; -extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900CB[]; - -extern const u8 EventScript_PlayerPCMale[]; -extern const u8 EventScript_PlayerPCFemale[]; +extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_PC[]; +extern const u8 LittlerootTown_MaysHouse_2F_EventScript_PC[];  extern const u8 EventScript_PC[];  extern const u8 EventScript_TestSignpostMsg[];  extern const u8 EventScript_HiddenItemScript[];  extern const u8 EventScript_TV[];  extern const u8 EventScript_ClosedSootopolisDoor[]; -extern const u8 SkyPillar_Outside_EventScript_2393F9[]; +extern const u8 SkyPillar_Outside_EventScript_ClosedDoor[];  extern const u8 EventScript_CableBoxResults[];  extern const u8 EventScript_PokeBlockFeeder[]; -extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[]; +extern const u8 Route110_TrickHousePuzzle_EventScript_Door[];  extern const u8 EventScript_RegionMap[];  extern const u8 EventScript_RunningShoesManual[];  extern const u8 EventScript_PictureBookShelf[]; @@ -551,13 +547,13 @@ extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[];  extern const u8 EventScript_FieldPoison[];  extern const u8 EventScript_EggHatch[];  extern const u8 UnusualWeather_EventScript_EndEventAndCleanup_1[]; -extern const u8 IslandCave_EventScript_238EAF[]; -extern const u8 MauvilleCity_EventScript_1DF7BA[]; -extern const u8 Route119_EventScript_1F49EC[]; -extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6[]; +extern const u8 IslandCave_EventScript_OpenRegiEntrance[]; +extern const u8 MauvilleCity_EventScript_RegisterWallyCall[]; +extern const u8 Route119_EventScript_ScottWonAtFortreeGymCall[]; +extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall[];  extern const u8 RustboroCity_Gym_EventScript_RegisterRoxanne[]; -extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224175[]; -extern const u8 SSTidalCorridor_EventScript_23C050[]; +extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall[]; +extern const u8 SSTidalCorridor_EventScript_ReachedStepCount[];  extern const u8 EventScript_FallDownHoleMtPyre[];  // Secret Base @@ -586,6 +582,6 @@ extern const u8 SecretBase_EventScript_TreeUseSecretPower[];  extern const u8 SecretBase_EventScript_ShrubUseSecretPower[];  // trainer hill -extern const u8 EventScript_2C83F0[]; +extern const u8 TrainerHill_EventScript_TrainerBattle[];  #endif // GUARD_EVENT_SCRIPTS_H diff --git a/include/field_effect.h b/include/field_effect.h index 0dbe600d3..0a99938d7 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -12,7 +12,7 @@ extern bool8 (*gFieldCallback2)(void);  u32 FieldEffectStart(u8);  bool8 FieldEffectActiveListContains(u8 id);  void FieldEffectActiveListClear(void); -void sub_80B69DC(void); +void ReturnToFieldFromFlyMapSelect(void);  u8 AddNewGameBirchObject(s16, s16, u8);  void FieldEffectStop(struct Sprite *sprite, u8 id);  u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer); diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index af594611e..02a927d4b 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -32,13 +32,13 @@ void DoMossdeepGymWarp(void);  void sub_80AF8B8(void);  void sub_80AF948(void);  void sub_80AF9F8(void); -void sub_80AFC60(void); +void DoContestHallWarp(void);  void AnimateFlash(u8 flashLevel);  void WriteBattlePyramidViewScanlineEffectBuffer(void);  void sub_80B0244(void);  void sub_80B0268(void); -void sub_80B0534(void); -void sub_80B058C(void); +void DoOrbEffect(void); +void FadeOutOrbEffect(void);  void sub_80B05B4(void);  void WriteFlashScanlineEffectBuffer(u8 flashLevel);  bool8 walkrun_is_standing_still(void); diff --git a/include/field_specials.h b/include/field_specials.h index 952081e93..a4d53a9a6 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -8,20 +8,20 @@ u8 GetLeadMonIndex(void);  u8 IsDestinationBoxFull(void);  u16 GetPCBoxToSendMon(void);  bool8 InMultiBattleRoom(void); -void sub_813BF10(void); +void UpdateTrainerFansAfterLinkBattle(void);  void IncrementBirthIslandRockStepCount(void);  bool8 UnusualWeatherHasExpired(void);  bool8 ShouldDoBrailleRegicePuzzle(void);  bool32 ShouldDoWallyCall(void); -bool32 ShouldDoWinonaCall(void); -bool32 ShouldDoScottCall(void); +bool32 ShouldDoScottFortreeCall(void); +bool32 ShouldDoScottBattleFrontierCall(void);  bool32 ShouldDoRoxanneCall(void);  bool32 ShouldDoRivalRayquazaCall(void);  bool32 CountSSTidalStep(u16 delta);  u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y);  void ShowScrollableMultichoice(void);  void FrontierGamblerSetWonOrLost(bool8 won); -u8 sub_813BADC(u8 a0); +u8 TryGainNewFanFromCounter(u8 incrementId);  bool8 InPokemonCenter(void);  void SetShoalItemFlag(u16 unused);  void UpdateFrontierManiac(u16 daysSince); diff --git a/include/fldeff.h b/include/fldeff.h index ff6c9823f..5da189c2a 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -28,8 +28,8 @@ bool8 sub_80E1584(void);  // soft-boiled  bool8 SetUpFieldMove_SoftBoiled(void); -void sub_81615A8(u8 taskId); -void sub_8161560(u8 taskId); +void Task_TryUseSoftboiledOnPartyMon(u8 taskId); +void ChooseMonForSoftboiled(u8 taskId);  // flash  bool8 SetUpFieldMove_Flash(void); diff --git a/include/frontier_util.h b/include/frontier_util.h index 9464ba91c..627b5bef5 100644 --- a/include/frontier_util.h +++ b/include/frontier_util.h @@ -1,10 +1,6 @@  #ifndef GUARD_FRONTIER_UTIL_H  #define GUARD_FRONTIER_UTIL_H -#define FRONTIER_BEFORE_TEXT 0 -#define FRONTIER_PLAYER_LOST_TEXT 1 -#define FRONTIER_PLAYER_WON_TEXT 2 -  void CallFrontierUtilFunc(void);  u8 sub_81A3610(void);  void CopyFrontierTrainerText(u8 whichText, u16 trainerId); diff --git a/include/global.h b/include/global.h index 82c53c009..d33be5d82 100644 --- a/include/global.h +++ b/include/global.h @@ -214,14 +214,16 @@ struct ApprenticeMon      u16 item;  }; +// This is for past players Apprentices or Apprentices received via Record Mix. +// For the current Apprentice, see struct PlayersApprentice  struct Apprentice  {      u8 id:5;      u8 lvlMode:2; // + 1 -    u8 field_1; +    u8 numQuestions;      u8 number; -    struct ApprenticeMon party[3]; -    u16 easyChatWords[6]; +    struct ApprenticeMon party[MULTI_PARTY_SIZE]; +    u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT];      u8 playerId[TRAINER_ID_LENGTH];      u8 playerName[PLAYER_NAME_LENGTH];      u8 language; @@ -264,9 +266,9 @@ struct EmeraldBattleTowerRecord      /*0x02*/ u16 winStreak;      /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];      /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; -    /*0x10*/ u16 greeting[6]; -    /*0x1C*/ u16 speechWon[6]; -    /*0x28*/ u16 speechLost[6]; +    /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT]; +    /*0x1C*/ u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT]; +    /*0x28*/ u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT];      /*0x34*/ struct BattleTowerPokemon party[4];      /*0xE4*/ u8 language;      /*0xE8*/ u32 checksum; @@ -279,10 +281,10 @@ struct BattleTowerEReaderTrainer      /*0x02*/ u16 winStreak;      /*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];      /*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH]; -    /*0x10*/ u16 greeting[6]; -    /*0x1C*/ u16 farewellPlayerLost[6]; -    /*0x28*/ u16 farewellPlayerWon[6]; -    /*0x34*/ struct BattleTowerPokemon party[3]; +    /*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT]; +    /*0x1C*/ u16 farewellPlayerLost[EASY_CHAT_BATTLE_WORDS_COUNT]; +    /*0x28*/ u16 farewellPlayerWon[EASY_CHAT_BATTLE_WORDS_COUNT]; +    /*0x34*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE];      /*0xB8*/ u32 checksum;  }; @@ -329,7 +331,7 @@ struct BattleFrontier      /*0xCA9*/ u8 field_CA9_d:1;   // 0x20      /*0xCA9*/ u8 field_CA9_e:1;   // 0x40      /*0xCA9*/ u8 field_CA9_f:1;   // 0x80 -    /*0xCAA*/ u16 selectedPartyMons[3]; +    /*0xCAA*/ u16 selectedPartyMons[FRONTIER_PARTY_SIZE];      /*0xCB0*/ u16 field_CB0;      /*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor.      /*0xCB4*/ u16 trainerIds[20]; @@ -356,7 +358,7 @@ struct BattleFrontier      /*0xD14*/ u16 domeRecordWinStreaks[2][2];      /*0xD1C*/ u16 domeTotalChampionships[2][2];      /*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT]; -    /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3]; +    /*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][FRONTIER_PARTY_SIZE];      /*0xDC4*/ u16 field_DC4;      /*0xDC6*/ u16 field_DC6;      /*0xDC8*/ u16 palaceWinStreaks[2][2]; @@ -375,7 +377,7 @@ struct BattleFrontier      /*0xE10*/ u8 pikeHintedRoomIndex:3;      /*0xE10*/ u8 pikeHintedRoomType:4;      /*0xE10*/ u8 pikeHealingRoomsDisabled:1; -    /*0xE12*/ u16 pikeHeldItemsBackup[3]; +    /*0xE12*/ u16 pikeHeldItemsBackup[FRONTIER_PARTY_SIZE];      /*0xE18*/ u16 pyramidRewardItem;      /*0xE1A*/ u16 pyramidWinStreaks[2];      /*0xE1E*/ u16 pyramidRecordStreaks[2]; @@ -391,36 +393,36 @@ struct BattleFrontier      /*0xEBA*/ u16 field_EBA;      /*0xEBC*/ u32 battlesCount;      /*0xEC0*/ u16 field_EC0[16]; -    /*0xEE0*/ u8 field_EE0; +    /*0xEE0*/ u8 trainerFlags;      /*0xEE1*/ u8 opponentName[2][PLAYER_NAME_LENGTH + 1];      /*0xEF1*/ u8 field_EF1[2][4]; -    /*0xEF9*/ u8 field_EF9_0:7; -    /*0xEF9*/ u8 field_EF9_1:1; +    /*0xEF9*/ u8 unk_EF9:7; +    /*0xEF9*/ u8 savedGame:1;      /*0xEFA*/ u8 field_EFA;      /*0xEFB*/ u8 field_EFB;      /*0xEFC*/ struct FrontierMonData field_EFC[3];  }; -struct Sav2_B8 +struct ApprenticeQuestion  { -    u8 unk0_0:2; -    u8 unk0_1:2; -    u8 unk0_2:2; -    u8 unk0_3:2; -    u16 unk2; +    u8 questionId:2; +    u8 monId:2; +    u8 moveSlot:2; +    u8 suggestedChange:2; // TRUE if told to use held item or second move, FALSE if told to use no item or first move +    u16 data; // used both as an itemId and a moveId  };  struct PlayersApprentice  {      /*0xB0*/ u8 id; -    /*0xB1*/ u8 activeLvlMode:2; // +1, 0 means not active -    /*0xB1*/ u8 field_B1_1:4; -    /*0xB1*/ u8 field_B1_2:2; -    /*0xB2*/ u8 field_B2_0:3; -    /*0xB2*/ u8 field_B2_1:2; -    /*0xB3*/ u8 field_B3; -    /*0xB4*/ u8 monIds[3]; -    /*0xB8*/ struct Sav2_B8 field_B8[9]; +    /*0xB1*/ u8 lvlMode:2;  //0: Unassigned, 1: Lv 50, 2: Open Lv +    /*0xB1*/ u8 questionsAnswered:4; +    /*0xB1*/ u8 leadMonId:2; +    /*0xB2*/ u8 party:3; +    /*0xB2*/ u8 saveId:2;  +    /*0xB3*/ u8 unused; +    /*0xB4*/ u8 speciesIds[MULTI_PARTY_SIZE]; +    /*0xB8*/ struct ApprenticeQuestion questions[APPRENTICE_MAX_QUESTIONS];  };  struct RankingHall1P @@ -465,7 +467,7 @@ struct SaveBlock2      /*0xA8*/ u32 field_A8; // Written to, but never read.      /*0xAC*/ u32 encryptionKey;      /*0xB0*/ struct PlayersApprentice playerApprentice; -    /*0xDC*/ struct Apprentice apprentices[4]; // From record mixing. +    /*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT];      /*0x1EC*/ struct BerryCrush berryCrush;      /*0x1FC*/ struct PokemonJumpResults pokeJump;      /*0x20C*/ struct BerryPickingResults berryPick; @@ -594,9 +596,9 @@ struct MauvilleManCommon  struct MauvilleManBard  {      /*0x00*/ u8 id; -    /*0x02*/ u16 songLyrics[6]; -    /*0x0E*/ u16 temporaryLyrics[6]; -    /*0x1A*/ u8 playerName[8]; +    /*0x02*/ u16 songLyrics[BARD_SONG_LENGTH]; +    /*0x0E*/ u16 temporaryLyrics[BARD_SONG_LENGTH]; +    /*0x1A*/ u8 playerName[PLAYER_NAME_LENGTH + 1];      /*0x22*/ u8 filler_2DB6[0x3];      /*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH];      /*0x29*/ bool8 hasChangedSong; @@ -608,10 +610,10 @@ struct MauvilleManStoryteller      u8 id;      bool8 alreadyRecorded;      u8 filler2[2]; -    u8 gameStatIDs[4]; -    u8 trainerNames[4][7]; -    u8 statValues[4][4]; -    u8 language[4]; +    u8 gameStatIDs[NUM_STORYTELLER_TALES]; +    u8 trainerNames[NUM_STORYTELLER_TALES][PLAYER_NAME_LENGTH]; +    u8 statValues[NUM_STORYTELLER_TALES][4]; +    u8 language[NUM_STORYTELLER_TALES];  };  struct MauvilleManGiddy @@ -634,10 +636,10 @@ struct MauvilleManHipster  struct MauvilleOldManTrader  {      u8 id; -    u8 decorIds[4]; -    u8 playerNames[4][11]; +    u8 decorIds[NUM_TRADER_ITEMS]; +    u8 playerNames[NUM_TRADER_ITEMS][11];      u8 alreadyTraded; -    u8 language[4]; +    u8 language[NUM_TRADER_ITEMS];  };  typedef union OldMan @@ -806,15 +808,15 @@ struct SaveTrainerHill  {      /*0x3D64*/ u32 timer;      /*0x3D68*/ u32 bestTime; -    /*0x3D6C*/ u8 field_3D6C; +    /*0x3D6C*/ u8 unk_3D6C;      /*0x3D6D*/ u8 unused; -    /*0x3D6E*/ u16 field_3D6E_0a:1; // 1 -    /*0x3D6E*/ u16 field_3D6E_0b:1; // 2 -    /*0x3D6E*/ u16 field_3D6E_0c:1; // 4 -    /*0x3D6E*/ u16 hasLost:1; // 8 -    /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; // x10 -    /*0x3D6E*/ u16 field_3D6E_0f:1; // x20 -    /*0x3D6E*/ u16 tag:2; // x40, x80 = xC0 +    /*0x3D6E*/ u16 receivedPrize:1; +    /*0x3D6E*/ u16 checkedFinalTime:1; +    /*0x3D6E*/ u16 spokeToOwner:1; +    /*0x3D6E*/ u16 hasLost:1; +    /*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; +    /*0x3D6E*/ u16 field_3D6E_0f:1; +    /*0x3D6E*/ u16 tag:2;  };  struct MysteryEventStruct @@ -949,10 +951,10 @@ struct SaveBlock1      /*0x2BA1*/ u8 outbreakPokemonProbability;      /*0x2BA2*/ u16 outbreakDaysLeft;      /*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData; -    /*0x2BB0*/ u16 easyChatProfile[6]; -    /*0x2BBC*/ u16 easyChatBattleStart[6]; -    /*0x2BC8*/ u16 easyChatBattleWon[6]; -    /*0x2BD4*/ u16 easyChatBattleLost[6]; +    /*0x2BB0*/ u16 easyChatProfile[EASY_CHAT_BATTLE_WORDS_COUNT]; +    /*0x2BBC*/ u16 easyChatBattleStart[EASY_CHAT_BATTLE_WORDS_COUNT]; +    /*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT]; +    /*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT];      /*0x2BE0*/ struct MailStruct mail[MAIL_COUNT];      /*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system      /*0x2E28*/ OldMan oldMan; diff --git a/include/graphics.h b/include/graphics.h index 7fba3ed80..146803cfa 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3208,7 +3208,7 @@ extern const u32 gBattleTextboxTiles[];  extern const u32 gBattleTextboxTilemap[];  extern const u32 gBattleTextboxPalette[];  extern const u32 gUnknown_08D778F0[]; -extern const u32 gUnknown_08D77B0C[]; +extern const u32 gVsLettersGfx[];  extern const u32 gUnknown_08D77AE4[];  extern const u32 gUnknown_08D779D8[];  extern const u32 gUnknown_08D857A8[]; @@ -3916,9 +3916,9 @@ extern const u16 gIntro2FlygonPal[];  extern const u32 gIntro2FlygonGfx[];  // party menu graphics -extern const u32 gPartyMenuMisc_Gfx[]; -extern const u32 gPartyMenuMisc_Tilemap[]; -extern const u32 gPartyMenuMisc_Pal[]; +extern const u32 gPartyMenuBg_Gfx[]; +extern const u32 gPartyMenuBg_Tilemap[]; +extern const u32 gPartyMenuBg_Pal[];  // berry pics  extern const u32 gBerryPic_Cheri[]; @@ -4122,7 +4122,7 @@ extern const u32 gUnknown_08D84970[];  extern const u32 gUnknown_08D84F00[];  extern const u32 gUnknown_08D85444[];  extern const u32 gUnknown_08D85358[]; -extern const u32 gUnknown_08D85600[]; +extern const u32 gBattleWindowTextPalette[];  extern const u32 gUnknown_08D854C8[];  extern const u32 gUnknown_08D82F10[];  extern const u32 gUnknown_08D834FC[]; diff --git a/include/image_processing_effects.h b/include/image_processing_effects.h new file mode 100755 index 000000000..7f726707c --- /dev/null +++ b/include/image_processing_effects.h @@ -0,0 +1,53 @@ +#ifndef GUARD_IMAGE_PROCESSING_EFFECTS_H +#define GUARD_IMAGE_PROCESSING_EFFECTS_H + +enum +{ +    IMAGE_EFFECT_POINTILLISM = 2, +    IMAGE_EFFECT_GRAYSCALE_LIGHT = 6, +    IMAGE_EFFECT_BLUR = 8, +    IMAGE_EFFECT_OUTLINE_COLORED = 9, +    IMAGE_EFFECT_INVERT_BLACK_WHITE = 10, +    IMAGE_EFFECT_THICK_BLACK_WHITE = 11, +    IMAGE_EFFECT_SHIMMER = 13, +    IMAGE_EFFECT_OUTLINE = 30, +    IMAGE_EFFECT_INVERT = 31, +    IMAGE_EFFECT_BLUR_RIGHT = 32, +    IMAGE_EFFECT_BLUR_DOWN = 33, +    IMAGE_EFFECT_CHARCOAL = 36, +}; + +enum +{ +    QUANTIZE_EFFECT_STANDARD, +    QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS, +    QUANTIZE_EFFECT_PRIMARY_COLORS, +    QUANTIZE_EFFECT_GRAYSCALE, +    QUANTIZE_EFFECT_GRAYSCALE_SMALL, +    QUANTIZE_EFFECT_BLACK_WHITE, +}; + +struct ImageProcessingContext +{ +    u8 effect; +    void *canvasPixels; +    u16 *canvasPalette; +    u8 fillerC[0x4]; +    void *dest; +    u16 quantizeEffect; +    u16 var_16; +    u8 paletteStart; +    u8 columnStart; +    u8 rowStart; +    u8 columnEnd; +    u8 rowEnd; +    u8 canvasWidth; +    u8 canvasHeight; +    u8 personality; +}; + +void ApplyImageProcessingEffects(struct ImageProcessingContext *); +void ApplyImageProcessingQuantization(struct ImageProcessingContext *); +void ConvertImageProcessingToGBA(struct ImageProcessingContext *); + +#endif diff --git a/include/item_menu.h b/include/item_menu.h index b1275549d..508f94815 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -71,7 +71,7 @@ extern u16 gSpecialVar_ItemId;  void sub_81AAC14(void);  void FavorLadyOpenBagMenu(void);  void QuizLadyOpenBagMenu(void); -void sub_81AAC28(void); +void ApprenticeOpenBagMenu(void);  void sub_81AABB0(void);  void SetInitialScrollAndCursorPositions(u8 pocketId);  void bag_menu_mail_related(void); @@ -82,7 +82,7 @@ void CB2_GoToSellMenu(void);  void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());  void DoWallyTutorialBagMenu(void);  void ResetBagScrollPositions(void); -void sub_81AABF0(void (*callback)(void)); +void ChooseBerrySetCallback(void (*callback)(void));  void CB2_ChooseBerry(void);  void unknown_ItemMenu_Confirm(u8 taskId);  void BagMenu_YesNo(u8, u8, const struct YesNoFuncTable*); diff --git a/include/link.h b/include/link.h index 499405fc1..4d6771a03 100644 --- a/include/link.h +++ b/include/link.h @@ -87,13 +87,13 @@  #define LINKTYPE_0x2288              0x2288  // battle?  #define LINKTYPE_0x3311              0x3311  #define LINKTYPE_0x3322              0x3322 -#define LINKTYPE_0x4411              0x4411 +#define LINKTYPE_BERRY_BLENDER_SETUP 0x4411  #define LINKTYPE_BERRY_BLENDER       0x4422  #define LINKTYPE_0x5501              0x5501  // mystery event  #define LINKTYPE_0x5502              0x5502  // unused?  #define LINKTYPE_0x5503              0x5503  // eReader -#define LINKTYPE_0x6601              0x6601 -#define LINKTYPE_0x6602              0x6602 +#define LINKTYPE_CONTEST_GMODE       0x6601 +#define LINKTYPE_CONTEST_EMODE       0x6602  struct LinkStatus  { @@ -290,7 +290,7 @@ void sub_800AF18(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 un  void sub_800B348(void);  void sub_800B3A4(u32 who);  bool32 sub_800A07C(void); -void sub_800AB98(void); +void ResetLinkPlayerCount(void);  void sub_800AA04(u8 a0);  void sub_800B4C0(void);  bool32 sub_800B504(void); diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h index 9d71e81aa..3845ac290 100644 --- a/include/mauville_old_man.h +++ b/include/mauville_old_man.h @@ -1,16 +1,6 @@ -  #ifndef GUARD_MAUVILLE_OLD_MAN_H  #define GUARD_MAUVILLE_OLD_MAN_H -enum MauvilleOldManType -{ -    MAUVILLE_MAN_BARD, -    MAUVILLE_MAN_HIPSTER, -    MAUVILLE_MAN_TRADER, -    MAUVILLE_MAN_STORYTELLER, -    MAUVILLE_MAN_GIDDY -}; -  extern struct BardSong gBardSong;  void SetMauvilleOldMan(void); diff --git a/include/menu.h b/include/menu.h index 62e2558dc..c5cef202c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -1,4 +1,3 @@ -  #ifndef GUARD_MENU_H  #define GUARD_MENU_H @@ -87,7 +86,7 @@ void RemoveMapNamePopUpWindow(void);  u8 GetMapNamePopUpWindowId(void);  u8 AddMapNamePopUpWindow(void);  void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing); -void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); +void SetBgTilemapPalette(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);  void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);  void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram);  void sub_8197AE8(bool8 copyToVram); @@ -95,7 +94,7 @@ void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const  s8 Menu_ProcessInputGridLayout(void);  u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted);  s8 Menu_ProcessInputNoWrapAround_other(void); -void sub_8199CBC(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height); +void CopyToBufferFromBgTilemap(u8 bgId, u16 *dest, u8 left, u8 top, u8 width, u8 height);  u8 sub_81980F0(u8 bg, u8 xPos, u8 yPos, u8 palette, u16 baseTile);  void sub_8198314(void);  void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 3b6c13172..442f4a063 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -4,6 +4,9 @@  #include "task.h"  #include "window.h" +#define MENU_L_PRESSED 1 +#define MENU_R_PRESSED 2 +  // Exported type declarations  struct YesNoFuncTable @@ -23,8 +26,8 @@ bool16 RunTextPrintersRetIsActive(u8 textPrinterId);  void DoYesNoFuncWithChoice(u8 taskId, const struct YesNoFuncTable *data);  void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);  bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1); -u8 GetLRKeysState(void); -u8 sub_812210C(void); +u8 GetLRKeysPressed(void); +u8 GetLRKeysPressedAndHeld(void);  bool8 sub_8122148(u16 itemId);  bool8 itemid_80BF6D8_mail_related(u16 itemId);  bool8 sub_81221AC(void); diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index 7fd1d1301..b5dae6de0 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -107,7 +107,7 @@ bool8 MetatileBehavior_IsPacifidlogLog(u8);  bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8);  bool8 MetatileBehavior_IsRegionMap(u8);  bool8 MetatileBehavior_IsClosedSootopolisDoor(u8); -bool8 MetatileBehavior_IsUnknownClosedDoor(u8); +bool8 MetatileBehavior_IsSkyPillarClosedDoor(u8);  bool8 MetatileBehavior_IsRoulette(u8);  bool8 MetatileBehavior_IsPokeblockFeeder(u8);  bool8 MetatileBehavior_IsSecretBaseJumpMat(u8); diff --git a/include/party_menu.h b/include/party_menu.h index a26cdb4cd..126931762 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -4,93 +4,90 @@  #include "main.h"  #include "task.h" -#include "constants/party_menu.h" - -struct Struct203CEC8 +// seems like the last two fields may have been left as all-purpose vars +// and the second of the two just happens to only be used in one case +struct PartyMenu  {      MainCallback exitCallback; -    TaskFunc unk4; -    u8 unk8_0:4; -    u8 mode:2; -    u8 unk8_2:2; +    TaskFunc task; +    u8 menuType:4; +    u8 layout:2;      s8 slotId; -    s8 unkA; -    u8 unkB; -    u16 unkC; -    s16 unkE; -    s16 unk10; +    s8 slotId2; +    u8 action; +    u16 bagItem; +    s16 data1;           // used variously as a moveId, counter, moveSlotId, or cursorPos +    s16 learnMoveState;  // data2, used only as a learn move state  }; -extern struct Struct203CEC8 gUnknown_0203CEC8; -extern u8 gUnknown_0203CEE8; -extern u8 gUnknown_0203CEE9; +extern struct PartyMenu gPartyMenu; +extern bool8 gPartyMenuUseExitCallback; +extern u8 gSelectedMonPartyId;  extern MainCallback gPostMenuFieldCallback;  extern u8 gSelectedOrderFromParty[4]; -extern u8 gUnknown_0203CF00[3]; +extern u8 gBattlePartyCurrentOrder[3]; -extern void (*gUnknown_03006328)(u8, TaskFunc); +extern void (*gItemUseCB)(u8, TaskFunc);  extern const u16 gTutorMoves[]; -void sub_81B0FCC(u8 slot, u8 b); +void AnimatePartySlot(u8 slot, u8 animNum);  bool8 IsMultiBattle(void);  u8 GetCursorSelectionMonId(void); -u8 sub_81B1360(void); -void sub_81B1370(u8 taskId); +u8 GetPartyMenuType(void); +void Task_HandleChooseMonInput(u8 taskId);  u8* GetMonNickname(struct Pokemon *mon, u8 *dest); -u8 DisplayPartyMenuMessage(const u8* str, u8 b); -bool8 sub_81B1BD4(void); -void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func); -u8 pokemon_ailments_get_primary(u32 status); +u8 DisplayPartyMenuMessage(const u8* str, bool8 keepOpen); +bool8 IsPartyMenuTextPrinterActive(void); +void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 HPDifference, TaskFunc task); +u8 GetAilmentFromStatus(u32 status);  u8 GetMonAilment(struct Pokemon *mon); -void DisplayPartyMenuStdMessage(u32 stringID); -void sub_81B47E0(u8 taskId); +void DisplayPartyMenuStdMessage(u32 stringId);  bool8 FieldCallback_PrepareFadeInFromMenu(void); -void sub_81B58A8(void); +void CB2_ReturnToPartyMenuFromFlyMap(void);  void LoadHeldItemIcons(void); -void DrawHeldItemIconsForTrade(u8 *a, u8 *b, u8 c); -void sub_81B617C(void); +void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty); +void CB2_ShowPartyMenuForItemUse(void);  void ItemUseCB_Medicine(u8 taskId, TaskFunc task); -void sub_81B67C8(u8 taskId, TaskFunc task); -void dp05_ether(u8 taskId, TaskFunc task); -void dp05_pp_up(u8 taskId, TaskFunc task); +void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task); +void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task); +void ItemUseCB_PPUp(u8 taskId, TaskFunc task);  u16 ItemIdToBattleMoveId(u16 item);  bool8 IsMoveHm(u16 move);  bool8 MonKnowsMove(struct Pokemon *mon, u16 move); -void sub_81B6DC4(u8 taskId, TaskFunc task); -void dp05_rare_candy(u8 taskId, TaskFunc task); -void sub_81B79E8(u8 taskId, TaskFunc task); -void sub_81B7C74(u8 taskId, TaskFunc task); +void ItemUseCB_TMHM(u8 taskId, TaskFunc task); +void ItemUseCB_RareCandy(u8 taskId, TaskFunc task); +void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task); +void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc task);  u8 GetItemEffectType(u16 item);  void CB2_PartyMenuFromStartMenu(void); -void sub_81B7F60(void); -void sub_81B8448(void); +void CB2_ChooseMonToGiveItem(void); +void ChooseMonToGiveMailFromMailbox(void);  void InitChooseHalfPartyForBattle(u8 unused); -void sub_81B8558(void); -void sub_81B8904(u8 initArg, MainCallback callback); -void OpenPartyMenuForMoveTutor(void); -void ChooseMonForWirelessMinigame(void); +void ClearSelectedPartyOrder(void); +void ChooseMonForTradingBoard(u8 menuType, MainCallback callback); +void ChooseMonForMoveTutor(void);  void ChooseMonForWirelessMinigame(void); -void OpenPartyMenuInBattle(u8 arg); -void sub_81B89F0(void); -void sub_81B8C68(void); -void sub_81B8D64(u8 battlerId, u8 multiplayerFlag); -void sub_81B8E80(u8 battlerId, u8 unk, u8 arrayIndex); -void sub_81B8FB0(u8 slot, u8 slot2); -u8 pokemon_order_func(u8 slot); -void sub_81B9150(void); -void sub_81B9328(void); -bool8 hm_add_c3_without_phase_2(void); -void sub_81B9404(void); -void sub_81B94B0(void); -void sub_81B951C(void); -void sub_81B9620(void); -void sub_81B95E0(void); -void sub_81B98DC(void); -void sub_81B9918(void); -void sub_81B9770(void); -void sub_81B9718(void); -void sub_81B96D0(void); -void sub_81B968C(void); +void OpenPartyMenuInBattle(u8 partyAction); +void ChooseMonForInBattleItem(void); +void BufferBattlePartyCurrentOrder(void); +void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId); +void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 arrayIndex); +void SwitchPartyMonSlots(u8 slot, u8 slot2); +u8 GetPartyIdFromBattlePartyId(u8 slot); +void ShowPartyMenuToShowcaseMultiBattleParty(void); +void ChooseMonForDaycare(void); +bool8 CB2_FadeFromPartyMenu(void); +void ChooseContestMon(void); +void ChoosePartyMon(void); +void ChooseMonForMoveRelearner(void); +void BattlePyramidChooseMonHeldItems(void); +void DoBattlePyramidMonsHaveHeldItem(void); +void IsSelectedMonEgg(void); +void IsLastMonThatKnowsSurf(void); +void MoveDeleterForgetMove(void); +void BufferMoveDeleterNicknameAndMove(void); +void GetNumMovesSelectedMonHas(void); +void MoveDeleterChooseMoveToForget(void);  #endif // GUARD_PARTY_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index 6a34e3cda..316fbc2b3 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -287,7 +287,6 @@ void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest);  u8 GetLevelFromMonExp(struct Pokemon *mon);  u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon);  u16 GiveMoveToMon(struct Pokemon *mon, u16 move); -u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move);  u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move);  void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot);  void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot); @@ -357,8 +356,8 @@ u16 SpeciesToCryId(u16 species);  void sub_806D544(u16 species, u32 personality, u8 *dest);  void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4);  void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); -bool8 sub_806D7EC(void); -bool16 GetLinkTrainerFlankId(u8 id); +u8 GetPlayerFlankId(void); +u16 GetLinkTrainerFlankId(u8 id);  s32 GetBattlerMultiplayerId(u16 a1);  u8 GetTrainerEncounterMusicId(u16 trainerOpponentId);  u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 5018de37c..9d56aebcb 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -21,7 +21,7 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u  u8 UpdateMonIconFrame(struct Sprite *sprite);  void LoadMonIconPalette(u16 species);  void sub_80D328C(struct Sprite *sprite); -void UpdateTradeMonIconFrame(struct Sprite *sprite); +void SpriteCB_MonIcon(struct Sprite *sprite);  void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum);  u8 GetMonIconPaletteIndexFromSpecies(u16 species); diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 20d881702..07d541cac 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -9,10 +9,9 @@ extern const u8 *const gMoveDescriptionPointers[];  extern const u8 *const gNatureNamePointers[];  void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); -void sub_81C4F98(u8, void(*)(void));  void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16);  void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)); -u8 sub_81C1B94(void); +u8 GetMoveSlotToReplace(void);  void SummaryScreen_SetUnknownTaskId(u8 a0);  void SummaryScreen_DestroyUnknownTask(void); diff --git a/include/region_map.h b/include/region_map.h index 798e6f56d..0d219643d 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -102,7 +102,7 @@ void CreateRegionMapPlayerIcon(u16 x, u16 y);  void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);  u8 *GetMapName(u8 *, u16, u16);  bool32 sub_8124668(u8 mapSecId); -u8 *sub_81245DC(u8 *dest, u16 mapSecId); +u8 *GetMapNameGeneric(u8 *dest, u16 mapSecId);  u8 *sub_8124610(u8 *dest, u16 mapSecId);  u16 CorrectSpecialMapSecId(u16 mapSecId);  void sub_8122D88(struct RegionMap *regionMap); diff --git a/include/save_location.h b/include/save_location.h index c330124ad..6c2ae0e6b 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -6,9 +6,14 @@  #define POKECENTER_SAVEWARP          (1 << 1)  #define LOBBY_SAVEWARP               (1 << 2)  #define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3) +// +// +// +// +#define CHAMPION_SAVEWARP            (1 << 7)  void TrySetMapSaveWarpStatus(void);  void sub_81AFDA0(void); -void sub_81AFDD0(void); +void SetChampionSaveWarp(void);  #endif // GUARD_SAVE_LOCATION_H diff --git a/include/script.h b/include/script.h index cfe493479..3f92964ac 100644 --- a/include/script.h +++ b/include/script.h @@ -62,6 +62,6 @@ u8 *GetSavedRamScriptIfValid(void);  void InitRamScript_NoEventObject(u8 *script, u16 scriptSize);  // srccmd.h -void sub_809BE48(u16 npcId); +void SetMovingNpcId(u16 npcId);  #endif // GUARD_SCRIPT_H diff --git a/include/script_pokemon_81B9.h b/include/script_pokemon_81B9.h deleted file mode 100644 index 1b8563ee6..000000000 --- a/include/script_pokemon_81B9.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_SCRIPTPOKE81B9_H -#define GUARD_SCRIPTPOKE81B9_H - -void sub_81B9404(void); - -#endif diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h index 7d8d99628..7c246b745 100644 --- a/include/script_pokemon_util_80F87D8.h +++ b/include/script_pokemon_util_80F87D8.h @@ -1,7 +1,7 @@  #ifndef GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H  #define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H -u16 sub_80F903C(void); +u16 GetContestRand(void);  void ReducePlayerPartyToSelectedMons(void);  void HealPlayerParty(void);  u8 CountPlayerContestPaintings(void); diff --git a/include/strings.h b/include/strings.h index 0b678f2f5..43b87e888 100644 --- a/include/strings.h +++ b/include/strings.h @@ -411,7 +411,7 @@ extern const u8 gText_CantBeUsedOnPkmn[];  extern const u8 gText_CancelParticipation[];  extern const u8 gText_PkmnWasGivenItem[];  extern const u8 gText_ReceivedItemFromPkmn[]; -extern const u8 gText_SwitchPkmnItem[]; +extern const u8 gText_PkmnAlreadyHoldingItemSwitch[];  extern const u8 gText_SwitchedPkmnItem[];  extern const u8 gText_BagFullCouldNotRemoveItem[];  extern const u8 gText_PkmnCantParticipate[]; @@ -427,7 +427,7 @@ extern const u8 gText_NoMoreThanVar1Pkmn[];  extern const u8 gText_PkmnCantBeTradedNow[];  extern const u8 gText_EggCantBeTradedNow[];  extern const u8 gText_OnlyPkmnForBattle[]; -extern const u8 gJPText_PutVar1IntoSpinner[]; +extern const u8 gJPText_AreYouSureYouWantToSpinTradeMon[];  extern const u8 gText_PauseUntilPress[];  extern const u8 gText_CantUseUntilNewBadge[];  extern const u8 gText_ReturnToHealingSpot[]; @@ -583,6 +583,8 @@ extern const u8 gText_BigGirl[];  extern const u8 gText_Son[];  extern const u8 gText_Daughter[]; +// Multichoice strings +extern const u8 gText_Exit[];  extern const u8 gText_1F[];  extern const u8 gText_2F[];  extern const u8 gText_3F[]; @@ -601,8 +603,6 @@ extern const u8 gText_B4F[];  extern const u8 gText_Rooftop[];  extern const u8 gText_ElevatorNowOn[]; -extern const u8 gText_Exit[]; -  extern const u8 gText_BlueFlute[];  extern const u8 gText_YellowFlute[];  extern const u8 gText_RedFlute[]; @@ -610,7 +610,6 @@ extern const u8 gText_WhiteFlute[];  extern const u8 gText_BlackFlute[];  extern const u8 gText_PrettyChair[];  extern const u8 gText_PrettyDesk[]; -extern const u8 gText_Exit[];  extern const u8 gText_0Pts[];  extern const u8 gText_10Pts[]; @@ -635,14 +634,12 @@ extern const u8 gText_DittoDoll48BP[];  extern const u8 gText_CyndaquilDoll80BP[];  extern const u8 gText_ChikoritaDoll80BP[];  extern const u8 gText_TotodileDoll80BP[]; -extern const u8 gText_Exit[];  extern const u8 gText_LaprasDoll128BP[];  extern const u8 gText_SnorlaxDoll128BP[];  extern const u8 gText_VenusaurDoll256BP[];  extern const u8 gText_CharizardDoll256BP[];  extern const u8 gText_BlastoiseDoll256BP[]; -extern const u8 gText_Exit[];  extern const u8 gText_Protein1BP[];  extern const u8 gText_Calcium1BP[]; @@ -650,7 +647,6 @@ extern const u8 gText_Iron1BP[];  extern const u8 gText_Zinc1BP[];  extern const u8 gText_Carbos1BP[];  extern const u8 gText_HpUp1BP[]; -extern const u8 gText_Exit[];  extern const u8 gText_Leftovers48BP[];  extern const u8 gText_WhiteHerb48BP[]; @@ -661,7 +657,6 @@ extern const u8 gText_ChoiceBand64BP[];  extern const u8 gText_KingsRock64BP[];  extern const u8 gText_FocusBand64BP[];  extern const u8 gText_ScopeLens64BP[]; -extern const u8 gText_Exit[];  extern const u8 gText_EnergyPowder50[];  extern const u8 gText_EnergyRoot80[]; @@ -674,7 +669,6 @@ extern const u8 gText_Calcium1000[];  extern const u8 gText_Zinc1000[];  extern const u8 gText_HPUp1000[];  extern const u8 gText_PPUp3000[]; -extern const u8 gText_Exit[];  extern const u8 gText_BattleTower2[];  extern const u8 gText_BattleDome[]; @@ -685,8 +679,8 @@ extern const u8 gText_BattlePike[];  extern const u8 gText_BattlePyramid[];  extern const u8 gText_RankingHall[];  extern const u8 gText_ExchangeService[]; -extern const u8 gText_Exit[]; +// Battle Frontier Move Tutors  extern const u8 gText_Softboiled16BP[];  extern const u8 gText_SeismicToss24BP[];  extern const u8 gText_DreamEater24BP[]; @@ -697,8 +691,6 @@ extern const u8 gText_RockSlide48BP[];  extern const u8 gText_Counter48BP[];  extern const u8 gText_ThunderWave48BP[];  extern const u8 gText_SwordsDance48BP[]; -extern const u8 gText_Exit[]; -  extern const u8 gText_DefenseCurl16BP[];  extern const u8 gText_Snore24BP[];  extern const u8 gText_MudSlap24BP[]; @@ -709,7 +701,6 @@ extern const u8 gText_PsychUp48BP[];  extern const u8 gText_IcePunch48BP[];  extern const u8 gText_ThunderPunch48BP[];  extern const u8 gText_FirePunch48BP[]; -extern const u8 gText_Exit[];  extern const u8 gText_SlateportCity[];  extern const u8 gText_BattleFrontier[]; @@ -717,7 +708,6 @@ extern const u8 gText_SouthernIsland[];  extern const u8 gText_NavelRock[];  extern const u8 gText_BirthIsland[];  extern const u8 gText_FarawayIsland[]; -extern const u8 gText_Exit[];  extern const u8 gText_BattleTrainers[];  extern const u8 gText_BattleBasics[]; @@ -725,38 +715,34 @@ extern const u8 gText_PokemonNature[];  extern const u8 gText_PokemonMoves[];  extern const u8 gText_Underpowered[];  extern const u8 gText_WhenInDanger[]; -extern const u8 gText_Exit[]; -extern const u8 BattleFrontier_Lounge2_Text_260971[]; -extern const u8 BattleFrontier_Lounge2_Text_260A1E[]; -extern const u8 BattleFrontier_Lounge2_Text_260AE7[]; -extern const u8 BattleFrontier_Lounge2_Text_2619AC[]; -extern const u8 BattleFrontier_Lounge2_Text_261A91[]; -extern const u8 BattleFrontier_Lounge2_Text_261B0C[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261B95[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_261C1A[]; -extern const u8 BattleFrontier_Lounge2_Text_260BC4[]; -extern const u8 BattleFrontier_Lounge2_Text_260C6D[]; -extern const u8 BattleFrontier_Lounge2_Text_260D3A[]; -extern const u8 BattleFrontier_Lounge2_Text_260E1E[]; -extern const u8 BattleFrontier_Lounge2_Text_260EC7[]; -extern const u8 BattleFrontier_Lounge2_Text_260F74[]; -extern const u8 BattleFrontier_Lounge2_Text_2614E6[]; -extern const u8 BattleFrontier_Lounge2_Text_261591[]; -extern const u8 BattleFrontier_Lounge2_Text_26166F[]; -extern const u8 BattleFrontier_Lounge2_Text_261282[]; -extern const u8 BattleFrontier_Lounge2_Text_261329[]; -extern const u8 BattleFrontier_Lounge2_Text_261403[]; -extern const u8 BattleFrontier_Lounge2_Text_261026[]; -extern const u8 BattleFrontier_Lounge2_Text_2610CC[]; -extern const u8 BattleFrontier_Lounge2_Text_261194[]; -extern const u8 BattleFrontier_Lounge2_Text_26174D[]; -extern const u8 BattleFrontier_Lounge2_Text_2617F9[]; -extern const u8 BattleFrontier_Lounge2_Text_2618C4[]; +// Battle Frontier Maniac +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_SalonMaidenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice1[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice2[]; +extern const u8 BattleFrontier_Lounge2_Text_DoubleBattleAdvice3[]; +extern const u8 BattleFrontier_Lounge2_Text_MultiBattleAdvice[]; +extern const u8 BattleFrontier_Lounge2_Text_LinkMultiBattleAdvice[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_DomeAceGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_FactoryHeadGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PalaceMavenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_ArenaTycoonGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PikeQueenGoldMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingIsThere[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingSilverMons[]; +extern const u8 BattleFrontier_Lounge2_Text_PyramidKingGoldMons[];  // Battle Frontier Nature Girl  extern const u8 BattleFrontier_Lounge5_Text_NatureGirlHardy[]; @@ -782,85 +768,83 @@ extern const u8 BattleFrontier_Lounge5_Text_NatureGirlGentle[];  extern const u8 BattleFrontier_Lounge5_Text_NatureGirlSassy[];  extern const u8 BattleFrontier_Lounge5_Text_NatureGirlCareful[]; -extern const u8 BattleFrontier_Lounge3_Text_262261[]; -extern const u8 BattleFrontier_Lounge3_Text_26230D[]; -extern const u8 BattleFrontier_Lounge3_Text_2623B9[]; -extern const u8 BattleFrontier_Lounge3_Text_262464[]; -extern const u8 BattleFrontier_Lounge3_Text_26250E[]; -extern const u8 BattleFrontier_Lounge3_Text_2625B8[]; -extern const u8 BattleFrontier_Lounge3_Text_26266A[]; -extern const u8 BattleFrontier_Lounge3_Text_26271C[]; -extern const u8 BattleFrontier_Lounge3_Text_2627C9[]; -extern const u8 BattleFrontier_Lounge3_Text_262876[]; -extern const u8 BattleFrontier_Lounge3_Text_26291A[]; -extern const u8 BattleFrontier_Lounge3_Text_2629BC[]; - -extern const u8 BattleFrontier_Lounge3_Text_262C04[]; -extern const u8 BattleFrontier_Lounge3_Text_262C90[]; -extern const u8 BattleFrontier_Lounge3_Text_262D1C[]; -extern const u8 BattleFrontier_Lounge3_Text_262DA7[]; -extern const u8 BattleFrontier_Lounge3_Text_262E34[]; -extern const u8 BattleFrontier_Lounge3_Text_262EC1[]; -extern const u8 BattleFrontier_Lounge3_Text_262F56[]; -extern const u8 BattleFrontier_Lounge3_Text_262FEB[]; -extern const u8 BattleFrontier_Lounge3_Text_263078[]; -extern const u8 BattleFrontier_Lounge3_Text_263105[]; -extern const u8 BattleFrontier_Lounge3_Text_26318C[]; -extern const u8 BattleFrontier_Lounge3_Text_263211[]; +// Battle Frontier Gambler +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleTowerMulti[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleDomeSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleDomeDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleFactorySingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleFactoryDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePalaceSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePalaceDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattleArena[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePike[]; +extern const u8 BattleFrontier_Lounge3_Text_ChallengeBattlePyramid[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleTowerMulti[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleDomeSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleDomeDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleFactorySingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleFactoryDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePalaceSingle[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePalaceDouble[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattleArena[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePike[]; +extern const u8 BattleFrontier_Lounge3_Text_GetToBattlePyramid[];  extern const u8 gText_BP[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601AA[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2601D0[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260201[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26022F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26025B[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260287[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602B5[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2602E0[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26030F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26033E[]; - -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26036C[]; - -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260397[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603BE[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2603E6[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26040E[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260436[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26045C[]; - -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26047A[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604AC[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2604D8[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_26050F[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260542[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260575[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605A8[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_2605E2[]; -extern const u8 BattleFrontier_BattlePointExchangeServiceCorner_Text_260613[]; - -extern const u8 BattleFrontier_Lounge7_Text_265E30[]; -extern const u8 BattleFrontier_Lounge7_Text_265E5B[]; -extern const u8 BattleFrontier_Lounge7_Text_265E8A[]; -extern const u8 BattleFrontier_Lounge7_Text_265EC0[]; -extern const u8 BattleFrontier_Lounge7_Text_265EED[]; -extern const u8 BattleFrontier_Lounge7_Text_265F1C[]; -extern const u8 BattleFrontier_Lounge7_Text_265F47[]; -extern const u8 BattleFrontier_Lounge7_Text_265F77[]; -extern const u8 BattleFrontier_Lounge7_Text_265FAA[]; -extern const u8 BattleFrontier_Lounge7_Text_265FDD[]; - -extern const u8 BattleFrontier_Lounge7_Text_26600A[]; -extern const u8 BattleFrontier_Lounge7_Text_26603E[]; -extern const u8 BattleFrontier_Lounge7_Text_266070[]; -extern const u8 BattleFrontier_Lounge7_Text_2660A6[]; -extern const u8 BattleFrontier_Lounge7_Text_2660D0[]; -extern const u8 BattleFrontier_Lounge7_Text_2660FF[]; -extern const u8 BattleFrontier_Lounge7_Text_26612D[]; -extern const u8 BattleFrontier_Lounge7_Text_26615F[]; -extern const u8 BattleFrontier_Lounge7_Text_266185[]; -extern const u8 BattleFrontier_Lounge7_Text_2661B5[]; +// Battle Frontier Exchange Corner +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KissPosterDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KissCushionDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_SmoochumDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_TogepiDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_MeowthDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ClefairyDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_DittoDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CyndaquilDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ChikoritaDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_TotodileDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_LargeDollDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ProteinDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CalciumDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_IronDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ZincDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_CarbosDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_HPUpDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_LeftoversDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_WhiteHerbDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_QuickClawDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_MentalHerbDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_BrightpowderDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ChoiceBandDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_KingsRockDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_FocusBandDesc[]; +extern const u8 BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc[]; + +// Battle Frontier Move Tutors +extern const u8 BattleFrontier_Lounge7_Text_SoftboiledDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SeismicTossDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_DreamEaterDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MegaPunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MegaKickDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_BodySlamDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_RockSlideDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_CounterDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_ThunderWaveDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SwordsDanceDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_DefenseCurlDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SnoreDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_MudSlapDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_SwiftDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_IcyWindDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_EndureDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_PsychUpDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_IcePunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_ThunderPunchDesc[]; +extern const u8 BattleFrontier_Lounge7_Text_FirePunchDesc[];  extern const u8 gText_YourPartnerHasRetired[]; @@ -1328,11 +1312,11 @@ extern const u8 gText_Are2[];  extern const u8 gText_123Dot[][3];  // Frontier util. -extern const u8 gUnknown_085ED164[]; -extern const u8 gUnknown_085ED170[]; -extern const u8 gUnknown_085ED17C[]; -extern const u8 gUnknown_085ED188[]; -extern const u8 gUnknown_085ED190[]; +extern const u8 gText_FacilitySingle[]; +extern const u8 gText_FacilityDouble[]; +extern const u8 gText_FacilityMulti[]; +extern const u8 gText_FacilityLink[]; +extern const u8 gText_Facility[];  extern const u8 gText_RecordsLv50[];  extern const u8 gText_RecordsOpenLevel[]; @@ -2035,8 +2019,8 @@ extern const u8 gText_Confusion[];  extern const u8 gText_Love[];  // battle message -extern const u8 gText_PkmnBoxSomeonesPCFull[]; -extern const u8 gText_PkmnBoxLanettesPCFull[]; +extern const u8 gText_PkmnTransferredSomeonesPCBoxFull[]; +extern const u8 gText_PkmnTransferredLanettesPCBoxFull[];  extern const u8 gText_PkmnTransferredSomeonesPC[];  extern const u8 gText_PkmnTransferredLanettesPC[]; @@ -2416,6 +2400,10 @@ extern const u8 gUnknown_085EDC45[];  extern const u8 gUnknown_085EDB00[];  extern const u8 gUnknown_085EDC84[]; +// Apprentice +extern const u8 gText_Give[]; +extern const u8 gText_NoNeed[]; +  // Easy Chat Entry  extern const u8 gText_StopGivingPkmnMail[];  extern const u8 gText_LikeToQuitQuiz[]; diff --git a/include/trade.h b/include/trade.h index 42bfc1482..72a04ed21 100644 --- a/include/trade.h +++ b/include/trade.h @@ -18,7 +18,7 @@ void CB2_StartCreateTradeMenu(void);  void CB2_LinkTrade(void);  int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8);  int GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); -int CanTradeSelectedPartyMenuMon(struct Pokemon*, u16); +int CanSpinTradeMon(struct Pokemon*, u16);  void InitTradeSequenceBgGpuRegs(void);  void LinkTradeDrawWindow(void);  void InitTradeBg(void); diff --git a/include/trainer_hill.h b/include/trainer_hill.h index a592ef580..c07aeb6d7 100644 --- a/include/trainer_hill.h +++ b/include/trainer_hill.h @@ -32,15 +32,15 @@ struct TrHillDisplay  struct TrHillFloor  { -    u8 unk0; -    u8 unk1; +    u8 trainerNum1; +    u8 trainerNum2;      struct TrainerHillTrainer trainers[2];      struct TrHillDisplay display;  };  struct TrHillTag  { -    u8 unkField_0; +    u8 numTrainers;      u8 unused1;      u8 numFloors;      u32 checksum; @@ -60,22 +60,21 @@ void CopyTrainerHillTrainerText(u8 which, u16 trainerId);  bool8 InTrainerHillChallenge(void);  void nullsub_129(void);  void PrintOnTrainerHillRecordsWindow(void); -void sub_81D5DF8(void); -bool32 sub_81D5F48(void); -void sub_81D5FB4(u16 *mapArg); +void LoadTrainerHillEventObjectTemplates(void); +bool32 LoadTrainerHillFloorEventObjectScripts(void); +void GenerateTrainerHillFloorLayout(u16 *mapArg);  bool32 InTrainerHill(void);  u8 GetCurrentTrainerHillMapId(void); -const struct WarpEvent* sub_81D6120(void); -const struct WarpEvent* sub_81D6134(u8 warpEventId); +const struct WarpEvent* SetWarpDestinationTrainerHill4F(void); +const struct WarpEvent* SetWarpDestinationTrainerHillFinalFloor(u8 warpEventId);  u16 LocalIdToHillTrainerId(u8 localId);  bool8 GetHillTrainerFlag(u8 eventObjectId);  void SetHillTrainerFlag(void);  const u8 *GetTrainerHillTrainerScript(void);  void FillHillTrainerParty(void);  void FillHillTrainersParties(void); -u32 sub_81D63C4(void);  u8 GetTrainerEncounterMusicIdInTrainerHill(u16 trainerId); -u8 sub_81D6490(void); +u8 GetNumFloorsInTrainerHillChallenge(void);  void sub_81D64C0(void);  bool32 sub_81D6534(void); diff --git a/include/trainer_see.h b/include/trainer_see.h index a9b92d71b..daf9d0298 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -9,11 +9,11 @@ struct ApproachingTrainer      u8 taskId;  }; -extern u16 gUnknown_03006080; -extern u8 gUnknown_03006084[4]; +extern u16 gWhichTrainerToFaceAfterBattle; +extern u8 gPostBattleMovementScript[4];  extern struct ApproachingTrainer gApproachingTrainers[2];  extern u8 gNoOfApproachingTrainers; -extern u8 gUnknown_030060AC; +extern bool8 gTrainerApproachedPlayer;  extern u8 gApproachingTrainerId;  bool8 CheckForTrainersWantingBattle(void); @@ -25,6 +25,6 @@ u8 FldEff_QuestionMarkIcon(void);  u8 FldEff_HeartIcon(void);  u8 GetCurrentApproachingTrainerEventObjectId(void);  u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId); -void sub_80B4808(void); +void PlayerFaceTrainerAfterBattle(void);  #endif // GUARD_TRAINER_SEE_H diff --git a/include/tv.h b/include/tv.h index 42640fb95..4027c3c0f 100644 --- a/include/tv.h +++ b/include/tv.h @@ -12,15 +12,15 @@ void sub_80EE35C(u16 foeSpecies, u16 species, u8 moveIdx, const u16 *movePtr, u1  void sub_80EE8C8(u16 winStreak, u8 facility);  void DoTVShow(void);  void DoTVShowInSearchOfTrainers(void); -void sub_80EDCE8(void); -void sub_80EE2CC(void); -void sub_80EE72C(void); +void TryPutTreasureInvestigatorsOnAir(void); +void TryPutLotteryWinnerReportOnAir(void); +void TryPutTrainerFanClubOnAir(void);  void IncrementDailyPlantedBerries(void);  void IncrementDailyPickedBerries(void);  void IncrementDailyBattlePoints(u16 delta);  void sub_80F01B8(void);  void ReceiveTvShowsData(void *src, u32 size, u8 masterIdx); -void sub_80EE4DC(struct Pokemon *pokemon, u8 ribbonMonDataIdx); +void TryPutSpotTheCutiesOnAir(struct Pokemon *pokemon, u8 ribbonMonDataIdx);  u32 GetPlayerIDAsU32(void);  bool8 GetPriceReduction(u8 newsKind);  void sub_80F14F8(TVShow *shows); | 
