diff options
Diffstat (limited to 'include/constants')
-rw-r--r-- | include/constants/battle_frontier.h | 19 | ||||
-rw-r--r-- | include/constants/battle_pike.h | 49 | ||||
-rw-r--r-- | include/constants/battle_pyramid.h | 49 | ||||
-rw-r--r-- | include/constants/cable_club.h | 15 | ||||
-rw-r--r-- | include/constants/contest.h | 6 | ||||
-rw-r--r-- | include/constants/easy_chat.h | 1 | ||||
-rwxr-xr-x | include/constants/event_object_movement_constants.h | 4 | ||||
-rw-r--r-- | include/constants/field_poison.h | 12 | ||||
-rw-r--r-- | include/constants/field_tasks.h | 13 | ||||
-rw-r--r-- | include/constants/flags.h | 149 | ||||
-rw-r--r-- | include/constants/global.h | 8 | ||||
-rwxr-xr-x | include/constants/map_groups.h | 4 | ||||
-rw-r--r-- | include/constants/mauville_man.h | 10 | ||||
-rw-r--r-- | include/constants/mauville_old_man.h | 12 | ||||
-rw-r--r-- | include/constants/metatile_labels.h | 18 | ||||
-rw-r--r-- | include/constants/party_menu.h | 132 | ||||
-rw-r--r-- | include/constants/pokemon.h | 5 | ||||
-rw-r--r-- | include/constants/script_menu.h | 4 | ||||
-rw-r--r-- | include/constants/trade.h | 116 | ||||
-rw-r--r-- | include/constants/trainer_hill.h | 2 | ||||
-rw-r--r-- | include/constants/tv.h | 46 | ||||
-rw-r--r-- | include/constants/vars.h | 10 |
22 files changed, 613 insertions, 71 deletions
diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h index d287dd2db..b849686f5 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 diff --git a/include/constants/battle_pike.h b/include/constants/battle_pike.h new file mode 100644 index 000000000..e92c4a006 --- /dev/null +++ b/include/constants/battle_pike.h @@ -0,0 +1,49 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PIKE_H +#define GUARD_CONSTANTS_BATTLE_PIKE_H + +#define PIKE_ROOM_SINGLE_BATTLE 0 +#define PIKE_ROOM_HEAL_FULL 1 +#define PIKE_ROOM_NPC 2 +#define PIKE_ROOM_STATUS 3 +#define PIKE_ROOM_HEAL_PART 4 +#define PIKE_ROOM_WILD_MONS 5 +#define PIKE_ROOM_HARD_BATTLE 6 +#define PIKE_ROOM_DOUBLE_BATTLE 7 +#define PIKE_ROOM_BRAIN 8 + +// For the room with a status effect. +#define PIKE_STATUS_KIRLIA 0 +#define PIKE_STATUS_DUSCLOPS 1 + +// Function IDs for sBattlePikeFunctions / CallBattlePikeFunction +#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE 0 +#define BATTLE_PIKE_FUNC_GET_DATA 1 +#define BATTLE_PIKE_FUNC_SET_DATA 2 +#define BATTLE_PIKE_FUNC_IN_FINAL_ROOM 3 +#define BATTLE_PIKE_FUNC_SET_UP_ROOM_OBJECTS 4 +#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE 5 +#define BATTLE_PIKE_FUNC_6 6 +#define BATTLE_PIKE_FUNC_7 7 +#define BATTLE_PIKE_FUNC_8 8 +#define BATTLE_PIKE_FUNC_NULL_9 9 +#define BATTLE_PIKE_FUNC_NULL_10 10 +#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS 11 +#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON 12 +#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS 13 +#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG 14 +#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE 15 +#define BATTLE_PIKE_FUNC_IS_IN 16 +#define BATTLE_PIKE_FUNC_SET_HINT_ROOM 17 +#define BATTLE_PIKE_FUNC_SET_HINT_ROOM_ID 18 +#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT 19 +#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS 20 +#define BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG 21 +#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE 22 +#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN 23 +#define BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED 24 +#define BATTLE_PIKE_FUNC_CAN_PARTY_BE_HEALED 25 +#define BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS 26 +#define BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS 27 +#define BATTLE_PIKE_FUNC_INIT_CHALLENGE 28 + +#endif // GUARD_CONSTANTS_BATTLE_PIKE_H diff --git a/include/constants/battle_pyramid.h b/include/constants/battle_pyramid.h new file mode 100644 index 000000000..0d59ae94d --- /dev/null +++ b/include/constants/battle_pyramid.h @@ -0,0 +1,49 @@ +#ifndef GUARD_CONSTANTS_BATTLE_PYRAMID_H +#define GUARD_CONSTANTS_BATTLE_PYRAMID_H + +#define TOTAL_ROUNDS 20 +#define PICKUP_ITEMS_PER_ROUND 10 + +#define FLOOR_WALKABLE_METATILE 0x28D +#define FLOOR_EXIT_METATILE 0x28E + +#define HINT_EXIT_DIRECTION 0 +#define HINT_REMAINING_ITEMS 1 +#define HINT_REMAINING_TRAINERS 2 +#define HINT_EXIT_SHORT_REMAINING_TRAINERS 3 +#define HINT_EXIT_SHORT_REMAINING_ITEMS 4 +#define HINT_EXIT_MEDIUM_REMAINING_TRAINERS 5 +#define HINT_EXIT_MEDIUM_REMAINING_ITEMS 6 +#define HINT_EXIT_FAR_REMAINING_TRAINERS 7 +#define HINT_EXIT_FAR_REMAINING_ITEMS 8 + +#define OBJ_TRAINERS 0 +#define OBJ_ITEMS 1 + +#define OBJ_POSITIONS_UNIFORM 0 +#define OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE 1 +#define OBJ_POSITIONS_IN_AND_NEAR_EXIT 2 +#define OBJ_POSITIONS_NEAR_ENTRANCE 3 +#define OBJ_POSITIONS_NEAR_EXIT 4 + +// Functions IDs for sBattlePyramidFunctions / CallBattlePyramidFunction +#define BATTLE_PYRAMID_FUNC_INIT_CHALLENGE 0 +#define BATTLE_PYRAMID_FUNC_GET_DATA 1 +#define BATTLE_PYRAMID_FUNC_SET_DATA 2 +#define BATTLE_PYRAMID_FUNC_3 3 +#define BATTLE_PYRAMID_FUNC_SET_REWARD 4 +#define BATTLE_PYRAMID_FUNC_GIVE_REWARD 5 +#define BATTLE_PYRAMID_FUNC_SEED_FLOOR 6 +#define BATTLE_PYRAMID_FUNC_SET_ITEM 7 +#define BATTLE_PYRAMID_FUNC_HIDE_ITEM 8 +#define BATTLE_PYRAMID_FUNC_INIT_TRAINERS 9 +#define BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT 10 +#define BATTLE_PYRAMID_FUNC_UPDATE_STREAK 11 +#define BATTLE_PYRAMID_FUNC_IS_IN 12 +#define BATTLE_PYRAMID_FUNC_UPDATE_LIGHT 13 +#define BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS 14 +#define BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE 15 +#define BATTLE_PYRAMID_FUNC_16 16 +#define BATTLE_PYRAMID_FUNC_RESTORE_PARTY 17 + +#endif // GUARD_CONSTANTS_BATTLE_PYRAMID_H diff --git a/include/constants/cable_club.h b/include/constants/cable_club.h new file mode 100644 index 000000000..f2aa4120c --- /dev/null +++ b/include/constants/cable_club.h @@ -0,0 +1,15 @@ +#ifndef GUARD_CONSTANTS_CABLE_CLUB_H +#define GUARD_CONSTANTS_CABLE_CLUB_H + +// States for VAR_CABLE_CLUB_STATE +#define USING_SINGLE_BATTLE 1 +#define USING_DOUBLE_BATTLE 2 +#define USING_TRADE_CENTER 3 +#define USING_RECORD_CORNER 4 +#define USING_MULTI_BATTLE 5 +#define USING_UNION_ROOM 6 +#define USING_BERRY_CRUSH 7 +#define USING_MINIGAME 8 +#define USING_BATTLE_TOWER 9 + +#endif //GUARD_CONSTANTS_CABLE_CLUB_H diff --git a/include/constants/contest.h b/include/constants/contest.h index d3296222b..0c866069e 100644 --- a/include/constants/contest.h +++ b/include/constants/contest.h @@ -16,4 +16,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..b97c2aaf2 100644 --- a/include/constants/easy_chat.h +++ b/include/constants/easy_chat.h @@ -1095,6 +1095,7 @@ #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 #define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon) #define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon) diff --git a/include/constants/event_object_movement_constants.h b/include/constants/event_object_movement_constants.h index b1f9b4cb5..ed6f6c7fb 100755 --- a/include/constants/event_object_movement_constants.h +++ b/include/constants/event_object_movement_constants.h @@ -179,8 +179,8 @@ #define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D #define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E #define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F -#define MOVEMENT_ACTION_UNKNOWN1 0x60 -#define MOVEMENT_ACTION_UNKNOWN2 0x61 +#define MOVEMENT_ACTION_HIDE_REFLECTION 0x60 +#define MOVEMENT_ACTION_SHOW_REFLECTION 0x61 #define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62 #define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63 #define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64 diff --git a/include/constants/field_poison.h b/include/constants/field_poison.h new file mode 100644 index 000000000..19b91e7c2 --- /dev/null +++ b/include/constants/field_poison.h @@ -0,0 +1,12 @@ +#ifndef GUARD_CONSTANTS_FIELD_POISON_H +#define GUARD_CONSTANTS_FIELD_POISON_H + +#define FLDPSN_NONE 0 +#define FLDPSN_PSN 1 +#define FLDPSN_FNT 2 + +#define FLDPSN_NO_WHITEOUT 0 +#define FLDPSN_WHITEOUT 1 +#define FLDPSN_FRONTIER_WHITEOUT 2 + +#endif //GUARD_CONSTANTS_FIELD_POISON_H diff --git a/include/constants/field_tasks.h b/include/constants/field_tasks.h new file mode 100644 index 000000000..7f773855d --- /dev/null +++ b/include/constants/field_tasks.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONSTANTS_FIELD_TASKS_H +#define GUARD_CONSTANTS_FIELD_TASKS_H + +#define STEP_CB_DUMMY 0 +#define STEP_CB_ASH 1 +#define STEP_CB_FORTREE_BRIDGE 2 +#define STEP_CB_PACIFIDLOG_BRIDGE 3 +#define STEP_CB_SOOTOPOLIS_ICE 4 +#define STEP_CB_TRUCK 5 +#define STEP_CB_SECRET_BASE 6 +#define STEP_CB_CRACKED_FLOOR 7 + +#endif // GUARD_CONSTANTS_FIELD_TASKS_H diff --git a/include/constants/flags.h b/include/constants/flags.h index 4679e953c..0e85e2570 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 @@ -109,10 +109,10 @@ #define FLAG_MET_TEAM_AQUA_HARBOR 0x61 #define FLAG_TV_EXPLAINED 0x62 #define FLAG_MAUVILLE_GYM_BARRIERS_STATE 0x63 -#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 -#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 -#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 -#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 +#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 // Leftover from the RS version of Mossdeep Gym, functionally unused +#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 // +#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 // +#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 // #define FLAG_UNUSED_0x068 0x68 // Unused Flag @@ -146,7 +146,7 @@ #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. @@ -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 @@ -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,8 +353,8 @@ #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_CLAW_FOSSIL 0x14F +#define FLAG_CHOSE_ROOT_FOSSIL 0x150 #define FLAG_RECEIVED_POWDER_JAR 0x151 #define FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER 0x152 @@ -367,7 +365,7 @@ #define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN 0x156 #define FLAG_MET_BATTLE_FRONTIER_BETTOR 0x157 #define FLAG_ENABLE_MR_STONE_POKENAV 0x158 -#define FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD 0x159 +#define FLAG_NURSE_MENTIONS_GOLD_CARD 0x159 #define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A #define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B @@ -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 @@ -778,9 +865,7 @@ #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 @@ -883,7 +968,7 @@ #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_FALLARBOR_HOUSE_PROF_COZMO 0x3A0 #define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 0x3A1 #define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 0x3A2 #define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3 @@ -925,7 +1010,7 @@ #define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x3C7 #define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x3C8 #define FLAG_HIDE_FORTREE_CITY_KECLEON 0x3C9 -#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3CA +#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE 0x3CA #define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x3CB #define FLAG_HIDE_ROUTE_120_STEVEN 0x3CC #define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x3CD @@ -936,14 +1021,14 @@ #define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x3D2 #define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x3D3 #define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x3D4 -#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x3D5 -#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D6 +#define FLAG_HIDE_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_ROUTE_120_KECLEON_3 0x3D9 -#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DA -#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DB -#define FLAG_HIDE_ROUTE_120_KECLEON_6 0x3DC +#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D9 +#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3DA +#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DB +#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DC #define FLAG_HIDE_ROUTE_119_KECLEON_1 0x3DD #define FLAG_HIDE_ROUTE_119_KECLEON_2 0x3DE #define FLAG_HIDE_ROUTE_101_BOY 0x3DF @@ -1549,9 +1634,9 @@ // Special Flags (Unknown) #define SPECIAL_FLAGS_START 0x4000 #define FLAG_HIDE_MAP_NAME_POPUP 0x4000 -#define FLAG_SPECIAL_FLAG_0x4001 0x4001 +#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/global.h b/include/constants/global.h index 7e0b5cfa4..4ade1c823 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -46,12 +46,16 @@ #define BAG_TMHM_COUNT 64 #define BAG_BERRIES_COUNT 46 #define EVENT_OBJECT_TEMPLATES_COUNT 64 +#define DECOR_MAX_SECRET_BASE 16 +#define DECOR_MAX_PLAYERS_HOUSE 12 #define 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 @@ -65,6 +69,10 @@ #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/map_groups.h b/include/constants/map_groups.h index 6a3276b44..802c381b5 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)) 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_labels.h b/include/constants/metatile_labels.h index 8fe95b464..2f3ce5f71 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -68,13 +68,16 @@ #define METATILE_PetalburgGym_SlidingDoor_Frame3 0x21B #define METATILE_PetalburgGym_SlidingDoor_Frame4 0x21C -// gTileset_MossdeepGym -#define METATILE_MossdeepGym_Obelisk_Top 0x204 -#define METATILE_MossdeepGym_Obelisk_Base 0x20C -#define METATILE_MossdeepGym_Wall_LeftCorner 0x20D -#define METATILE_MossdeepGym_OuterWall_RightCorner 0x205 -#define METATILE_MossdeepGym_Empty0 0x238 -#define METATILE_MossdeepGym_Empty1 0x239 +// gTileset_MossdeepGym from R/S +#define METATILE_RS_MossdeepGym_RedArrow_Right 0x204 +#define METATILE_RS_MossdeepGym_RedArrow_Left 0x20C +#define METATILE_RS_MossdeepGym_RedArrow_Up 0x20D +#define METATILE_RS_MossdeepGym_RedArrow_Down 0x205 +#define METATILE_RS_MossdeepGym_Switch_Up 0x238 +#define METATILE_RS_MossdeepGym_Switch_Down 0x239 + +// gTileset_MossdeepGym from Emerald +#define METATILE_MossdeepGym_YellowArrow_Right 0x250 // gTileset_BrendansMaysHouse #define METATILE_BrendansMaysHouse_BrendanPC_Off 0x25A @@ -376,6 +379,7 @@ #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down 0x263 #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt 0x27B #define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt 0x27C +#define METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right 0x298 // gTileset_BikeShop #define METATILE_BikeShop_Barrier_Hidden_Top 0x269 diff --git a/include/constants/party_menu.h b/include/constants/party_menu.h new file mode 100644 index 000000000..7953967ed --- /dev/null +++ b/include/constants/party_menu.h @@ -0,0 +1,132 @@ +#ifndef GUARD_CONSTANTS_PARTY_MENU_H +#define GUARD_CONSTANTS_PARTY_MENU_H + +#define AILMENT_NONE 0 +#define AILMENT_PSN 1 +#define AILMENT_PRZ 2 +#define AILMENT_SLP 3 +#define AILMENT_FRZ 4 +#define AILMENT_BRN 5 +#define AILMENT_PKRS 6 +#define AILMENT_FNT 7 + +#define TUTOR_MOVE_MEGA_PUNCH 0 +#define TUTOR_MOVE_SWORDS_DANCE 1 +#define TUTOR_MOVE_MEGA_KICK 2 +#define TUTOR_MOVE_BODY_SLAM 3 +#define TUTOR_MOVE_DOUBLE_EDGE 4 +#define TUTOR_MOVE_COUNTER 5 +#define TUTOR_MOVE_SEISMIC_TOSS 6 +#define TUTOR_MOVE_MIMIC 7 +#define TUTOR_MOVE_METRONOME 8 +#define TUTOR_MOVE_SOFT_BOILED 9 +#define TUTOR_MOVE_DREAM_EATER 10 +#define TUTOR_MOVE_THUNDER_WAVE 11 +#define TUTOR_MOVE_EXPLOSION 12 +#define TUTOR_MOVE_ROCK_SLIDE 13 +#define TUTOR_MOVE_SUBSTITUTE 14 +#define TUTOR_MOVE_DYNAMIC_PUNCH 15 +#define TUTOR_MOVE_ROLLOUT 16 +#define TUTOR_MOVE_PSYCH_UP 17 +#define TUTOR_MOVE_SNORE 18 +#define TUTOR_MOVE_ICY_WIND 19 +#define TUTOR_MOVE_ENDURE 20 +#define TUTOR_MOVE_MUD_SLAP 21 +#define TUTOR_MOVE_ICE_PUNCH 22 +#define TUTOR_MOVE_SWAGGER 23 +#define TUTOR_MOVE_SLEEP_TALK 24 +#define TUTOR_MOVE_SWIFT 25 +#define TUTOR_MOVE_DEFENSE_CURL 26 +#define TUTOR_MOVE_THUNDER_PUNCH 27 +#define TUTOR_MOVE_FIRE_PUNCH 28 +#define TUTOR_MOVE_FURY_CUTTER 29 +#define TUTOR_MOVE_COUNT 30 + +#define PARTY_LAYOUT_SINGLE 0 +#define PARTY_LAYOUT_DOUBLE 1 +#define PARTY_LAYOUT_MULTI 2 +#define PARTY_LAYOUT_MULTI_SHOWCASE 3 // The layout during the screen that appears just before a multi battle +#define PARTY_LAYOUT_COUNT 4 +#define KEEP_PARTY_LAYOUT 0xFF + +#define PARTY_MENU_TYPE_FIELD 0 +#define PARTY_MENU_TYPE_IN_BATTLE 1 +#define PARTY_MENU_TYPE_CONTEST 2 +#define PARTY_MENU_TYPE_CHOOSE_MON 3 +#define PARTY_MENU_TYPE_CHOOSE_HALF 4 // multi battles, eReader battles, and some battle facilities +#define PARTY_MENU_TYPE_MULTI_SHOWCASE 5 +#define PARTY_MENU_TYPE_DAYCARE 6 +#define PARTY_MENU_TYPE_MOVE_RELEARNER 7 +#define PARTY_MENU_TYPE_UNION_ROOM_REGISTER 8 // trading board +#define PARTY_MENU_TYPE_UNION_ROOM_TRADE 9 // trading board +#define PARTY_MENU_TYPE_SPIN_TRADE 10 // Unused beta for Gen IV's Spin Trade +#define PARTY_MENU_TYPE_MINIGAME 11 +#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS 12 + +#define PARTY_ACTION_CHOOSE_MON 0 +#define PARTY_ACTION_SEND_OUT 1 +#define PARTY_ACTION_CANT_SWITCH 2 +#define PARTY_ACTION_USE_ITEM 3 +#define PARTY_ACTION_ABILITY_PREVENTS 4 +#define PARTY_ACTION_GIVE_ITEM 5 +#define PARTY_ACTION_GIVE_PC_ITEM 6 // Unused. Not possible to give non-mail items directly from PC +#define PARTY_ACTION_GIVE_MAILBOX_MAIL 7 +#define PARTY_ACTION_SWITCH 8 +#define PARTY_ACTION_SWITCHING 9 +#define PARTY_ACTION_SOFTBOILED 10 +#define PARTY_ACTION_CHOOSE_AND_CLOSE 11 +#define PARTY_ACTION_MOVE_TUTOR 12 +#define PARTY_ACTION_MINIGAME 13 +#define PARTY_ACTION_REUSABLE_ITEM 14 // Unused. The only reusable items are handled separately + +// IDs for DisplayPartyMenuStdMessage, to display the message at the bottom of the party menu +#define PARTY_MSG_CHOOSE_MON 0 +#define PARTY_MSG_CHOOSE_MON_OR_CANCEL 1 +#define PARTY_MSG_CHOOSE_MON_AND_CONFIRM 2 +#define PARTY_MSG_MOVE_TO_WHERE 3 +#define PARTY_MSG_TEACH_WHICH_MON 4 +#define PARTY_MSG_USE_ON_WHICH_MON 5 +#define PARTY_MSG_GIVE_TO_WHICH_MON 6 +#define PARTY_MSG_NOTHING_TO_CUT 7 +#define PARTY_MSG_CANT_SURF_HERE 8 +#define PARTY_MSG_ALREADY_SURFING 9 +#define PARTY_MSG_CURRENT_TOO_FAST 10 +#define PARTY_MSG_ENJOY_CYCLING 11 +#define PARTY_MSG_ALREADY_IN_USE 12 +#define PARTY_MSG_CANT_USE_HERE 13 +#define PARTY_MSG_NO_MON_FOR_BATTLE 14 +#define PARTY_MSG_CHOOSE_MON_2 15 +#define PARTY_MSG_NOT_ENOUGH_HP 16 +#define PARTY_MSG_X_MONS_ARE_NEEDED 17 +#define PARTY_MSG_MONS_CANT_BE_SAME 18 +#define PARTY_MSG_NO_SAME_HOLD_ITEMS 19 +#define PARTY_MSG_UNUSED 20 +#define PARTY_MSG_DO_WHAT_WITH_MON 21 +#define PARTY_MSG_RESTORE_WHICH_MOVE 22 +#define PARTY_MSG_BOOST_PP_WHICH_MOVE 23 +#define PARTY_MSG_DO_WHAT_WITH_ITEM 24 +#define PARTY_MSG_DO_WHAT_WITH_MAIL 25 +#define PARTY_MSG_ALREADY_HOLDING_ONE 26 +#define PARTY_MSG_NONE 127 + +// IDs for DisplayPartyPokemonDescriptionText, to display a message in the party pokemon's box +#define PARTYBOX_DESC_NO_USE 0 +#define PARTYBOX_DESC_ABLE_3 1 +#define PARTYBOX_DESC_FIRST 2 +#define PARTYBOX_DESC_SECOND 3 +#define PARTYBOX_DESC_THIRD 4 +#define PARTYBOX_DESC_FOURTH 5 +#define PARTYBOX_DESC_ABLE 6 +#define PARTYBOX_DESC_NOT_ABLE 7 +#define PARTYBOX_DESC_ABLE_2 8 +#define PARTYBOX_DESC_NOT_ABLE_2 9 +#define PARTYBOX_DESC_LEARNED 10 +#define PARTYBOX_DESC_HAVE 11 +#define PARTYBOX_DESC_DONT_HAVE 12 + +#define SELECTWINDOW_ACTIONS 0 +#define SELECTWINDOW_ITEM 1 +#define SELECTWINDOW_MAIL 2 +#define SELECTWINDOW_MOVES 3 + +#endif // GUARD_CONSTANTS_PARTY_MENU_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 52a4f0254..b2084f154 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -177,13 +177,13 @@ #define MON_DATA_SPATK2 87 #define MON_DATA_SPDEF2 88 +#define MIN_LEVEL 1 #define MAX_LEVEL 100 #define OT_ID_PLAYER_ID 0 #define OT_ID_PRESET 1 #define OT_ID_RANDOM_NO_SHINY 2 - #define MON_GIVEN_TO_PARTY 0 #define MON_GIVEN_TO_PC 1 #define MON_CANT_GIVE 2 @@ -192,6 +192,9 @@ #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 MON_MALE 0x00 #define MON_FEMALE 0xFE #define MON_GENDERLESS 0xFF diff --git a/include/constants/script_menu.h b/include/constants/script_menu.h index b7ec908c1..928ca00e0 100644 --- a/include/constants/script_menu.h +++ b/include/constants/script_menu.h @@ -13,8 +13,8 @@ #define MULTI_ENTERINFO 2 #define MULTI_CONTEST_INFO 3 #define MULTI_CONTEST_TYPE 4 -#define MULTI_DECOR_NOREGISTRY 5 -#define MULTI_DECOR_REGISTRY 6 +#define MULTI_BASE_PC_NO_REGISTRY 5 +#define MULTI_BASE_PC_WITH_REGISTRY 6 #define MULTI_REGISTER_MENU 7 #define MULTI_SSTIDAL_LILYCOVE 8 // Exit only, populated by CreateLilycoveSSTidalMultichoice #define MULTI_UNUSED_9 9 diff --git a/include/constants/trade.h b/include/constants/trade.h new file mode 100644 index 000000000..fa42e6b43 --- /dev/null +++ b/include/constants/trade.h @@ -0,0 +1,116 @@ +#ifndef GUARD_CONSTANTS_TRADE_H +#define GUARD_CONSTANTS_TRADE_H + +#define TRADE_PLAYER 0 +#define TRADE_PARTNER 1 + +#define LINK_TRADE_TIMEOUT 300 + +// In-game Trade IDs +#define INGAME_TRADE_SEEDOT 0 +#define INGAME_TRADE_PLUSLE 1 +#define INGAME_TRADE_HORSEA 2 +#define INGAME_TRADE_MEOWTH 3 + +// Flag IDs for sending link data +#define INITIATE_TRADE 1 +#define CANCEL_TRADE 2 +#define WANTS_TO_TRADE 1 +#define WANTS_TO_CANCEL 2 +#define READY_FINISH_TRADE 1 +#define FINISH_TRADE 2 + +// Return values for CanTradeSelectedMon and CanSpinTradeMon +#define CAN_TRADE_MON 0 +#define CANT_TRADE_LAST_MON 1 +#define CANT_TRADE_NATIONAL 2 +#define CANT_TRADE_EGG_YET 3 +#define CANT_TRADE_INVALID_MON 4 +#define CANT_TRADE_EGG_YET2 5 + +// Return values for CheckValidityOfTradeMons +#define PLAYER_MON_INVALID 0 +#define BOTH_MONS_VALID 1 +#define PARTNER_MON_INVALID 2 + +// Return values for GetGameProgressForLinkTrade +#define TRADE_BOTH_PLAYERS_READY 0 +#define TRADE_PLAYER_NOT_READY 1 +#define TRADE_PARTNER_NOT_READY 2 + +// Indexes for sTradeActionTexts +#define TRADE_TEXT_CANCEL 0 +#define TRADE_TEXT_CHOOSE_MON 1 +#define TRADE_TEXT_SUMMARY 2 +#define TRADE_TEXT_TRADE 3 +#define TRADE_TEXT_CANCEL_TRADE 4 +#define TRADE_TEXT_JP_QUIT 5 + +// Checked to confirm DrawTradeMenuParty has reached final state +#define DRAW_PARTY_FINISH 5 + +// Message indexes for sTradeMessages +#define TRADE_MSG_STANDBY 0 +#define TRADE_MSG_CANCELED 1 +#define TRADE_MSG_ONLY_MON1 2 +#define TRADE_MSG_ONLY_MON2 3 +#define TRADE_MSG_WAITING_FOR_FRIEND 4 +#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5 +#define TRADE_MSG_MON_CANT_BE_TRADED 6 +#define TRADE_MSG_EGG_CANT_BE_TRADED 7 +#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8 + +// IDs for QueueAction +#define QUEUE_SEND_DATA 0 +#define QUEUE_STANDBY 1 +#define QUEUE_ONLY_MON1 2 +#define QUEUE_ONLY_MON2 3 +#define QUEUE_UNUSED1 4 +#define QUEUE_UNUSED2 5 +#define QUEUE_MON_CANT_BE_TRADED 6 +#define QUEUE_EGG_CANT_BE_TRADED 7 +#define QUEUE_FRIENDS_MON_CANT_BE_TRADED 8 + +#define QUEUE_DELAY_MSG 3 +#define QUEUE_DELAY_DATA 5 + +// IDs for CallTradeMenuFunc +#define TRADEMENUFUNC_MAIN_MENU 0 +#define TRADEMENUFUNC_SELECTED_MON 1 +#define TRADEMENUFUNC_SHOW_MON_SUMMARY 2 +#define TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE 3 +#define TRADEMENUFUNC_CANCEL_TRADE_PROMPT 4 +#define TRADEMENUFUNC_UNUSED_5 5 +#define TRADEMENUFUNC_BOTH_MONS_SELECTED 6 +#define TRADEMENUFUNC_CONFIRM_TRADE_PROMPT 7 +#define TRADEMENUFUNC_REDRAW_MAIN_MENU 8 +#define TRADEMENUFUNC_LINK_TRADE_FADE_OUT 9 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_FADE 10 +#define TRADEMENUFUNC_CANCEL_TRADE_1 11 +#define TRADEMENUFUNC_CANCEL_TRADE_2 12 +#define TRADEMENUFUNC_START_LINK_TRADE 13 +#define TRADEMENUFUNC_DELAY_TRADE_CONFIRM 14 +#define TRADEMENUFUNC_UNUSED_15 15 +#define TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE 16 +#define TRADEMENUFUNC_PARTNER_MON_INVALID 17 +#define TRADEMENUFUNC_STANDBY 100 + +// Message indexes for sUnionRoomTradeMessages +#define UR_TRADE_MSG_NONE 0 +#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1 +#define UR_TRADE_MSG_NOT_EGG 2 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3 +#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4 +#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5 +#define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6 +#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8 +#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9 + +// Return values for CanRegisterMonForTradingBoard +#define CAN_REGISTER_MON 0 +#define CANT_REGISTER_MON 1 +#define CANT_REGISTER_EGG 2 + + +#endif //GUARD_CONSTANTS_TRADE_H diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index 4aae1dbbc..cab56a5ac 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -11,7 +11,7 @@ #define TRAINER_HILL_FUNC_7 7 #define TRAINER_HILL_FUNC_8 8 #define TRAINER_HILL_FUNC_9 9 -#define TRAINER_HILL_FUNC_10 10 +#define TRAINER_HILL_FUNC_IS_IN 10 #define TRAINER_HILL_FUNC_11 11 #define TRAINER_HILL_FUNC_12 12 #define TRAINER_HILL_FUNC_13 13 diff --git a/include/constants/tv.h b/include/constants/tv.h new file mode 100644 index 000000000..c22bec9a3 --- /dev/null +++ b/include/constants/tv.h @@ -0,0 +1,46 @@ +#ifndef GUARD_CONSTANTS_TV_H +#define GUARD_CONSTANTS_TV_H + +#define POKENEWS_NONE 0 +#define POKENEWS_SLATEPORT 1 +#define POKENEWS_GAME_CORNER 2 +#define POKENEWS_LILYCOVE 3 +#define POKENEWS_BLENDMASTER 4 + +#define TVSHOW_OFF_AIR 0 +#define TVSHOW_FAN_CLUB_LETTER 1 +#define TVSHOW_RECENT_HAPPENINGS 2 +#define TVSHOW_PKMN_FAN_CLUB_OPINIONS 3 +#define TVSHOW_UNKN_SHOWTYPE_04 4 +#define TVSHOW_NAME_RATER_SHOW 5 +#define TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE 6 +#define TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE 7 +#define TVSHOW_CONTEST_LIVE_UPDATES 8 +#define TVSHOW_3_CHEERS_FOR_POKEBLOCKS 9 +#define TVSHOW_BATTLE_UPDATE 10 +#define TVSHOW_FAN_CLUB_SPECIAL 11 +#define TVSHOW_CONTEST_LIVE_UPDATES_2 12 +// // +#define TVSHOW_POKEMON_TODAY_CAUGHT 21 +#define TVSHOW_SMART_SHOPPER 22 +#define TVSHOW_POKEMON_TODAY_FAILED 23 +#define TVSHOW_FISHING_ADVICE 24 +#define TVSHOW_WORLD_OF_MASTERS 25 +#define TVSHOW_TODAYS_RIVAL_TRAINER 26 +#define TVSHOW_TREND_WATCHER 27 +#define TVSHOW_TREASURE_INVESTIGATORS 28 +#define TVSHOW_FIND_THAT_GAMER 29 +#define TVSHOW_BREAKING_NEWS 30 +#define TVSHOW_SECRET_BASE_VISIT 31 +#define TVSHOW_LOTTO_WINNER 32 +#define TVSHOW_BATTLE_SEMINAR 33 +#define TVSHOW_TRAINER_FAN_CLUB 34 +#define TVSHOW_CUTIES 35 +#define TVSHOW_FRONTIER 36 +#define TVSHOW_NUMBER_ONE 37 +#define TVSHOW_SECRET_BASE_SECRETS 38 +#define TVSHOW_SAFARI_FAN_CLUB 39 +// // +#define TVSHOW_MASS_OUTBREAK 41 + +#endif //GUARD_CONSTANTS_TV_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 72b15654e..64ff6622b 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -77,7 +77,7 @@ #define VAR_REGICE_STEPS_2 0x403C #define VAR_REGICE_STEPS_3 0x403D #define VAR_ALTERING_CAVE_WILD_SET 0x403E -#define VAR_ALWAYS_ZERO_0x403F 0x403F // This var is read and written, but is always zero. +#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing #define VAR_DAYS 0x4040 #define VAR_FANCLUB_UNKNOWN_1 0x4041 #define VAR_FANCLUB_UNKNOWN_2 0x4042 @@ -147,7 +147,7 @@ #define VAR_LITTLEROOT_HOUSES_STATE 0x4082 #define VAR_UNUSED_0x4083 0x4083 // Unused Var #define VAR_BIRCH_LAB_STATE 0x4084 -#define VAR_PETALBURG_GYM_STATE 0x4085 +#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_CABLE_CLUB_STATE 0x4087 #define VAR_CONTEST_LOCATION 0x4088 @@ -172,13 +172,13 @@ #define VAR_UNUSED_0x409B 0x409B // Unused Var #define VAR_ELITE_4_STATE 0x409C #define VAR_UNUSED_0x409D 0x409D // Unused Var -#define VAR_MOSSDEEP_SPACE_CENTER_STATE_1 0x409E -#define VAR_MOSSDEEP_SPACE_CENTER_STATE_2 0x409F +#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE 0x409E +#define VAR_MOSSDEEP_SPACE_CENTER_STATE 0x409F #define VAR_SLATEPORT_HARBOR_STATE 0x40A0 #define VAR_UNUSED_0x40A1 0x40A1 // Unused var #define VAR_SEAFLOOR_CAVERN_STATE 0x40A2 #define VAR_CABLE_CAR_STATION_STATE 0x40A3 -#define VAR_SAFARI_ZONE_STATE 0x40A4 +#define VAR_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 |