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); |