summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/apprentice.h2
-rw-r--r--include/constants/battle_tower.h24
-rw-r--r--include/constants/field_specials.h2
-rw-r--r--include/constants/flags.h14
-rw-r--r--include/constants/frontier_util.h2
-rw-r--r--include/constants/item_effects.h4
-rwxr-xr-xinclude/constants/layouts.h4
-rwxr-xr-xinclude/constants/map_groups.h178
-rw-r--r--include/constants/opponents.h92
-rw-r--r--include/constants/vars.h6
10 files changed, 175 insertions, 153 deletions
diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h
index 63434a4fc..f1bea5e8c 100644
--- a/include/constants/apprentice.h
+++ b/include/constants/apprentice.h
@@ -6,6 +6,8 @@
#define NUM_WHICH_MON_QUESTIONS MULTI_PARTY_SIZE
#define NUM_WHICH_MOVE_QUESTIONS 5
+// + 2 below is 1 each for the lead mon question and the win speech question
+#define MAX_APPRENTICE_QUESTIONS NUM_WHICH_MON_QUESTIONS + NUM_WHICH_MOVE_QUESTIONS + 2
#define APPRENTICE_LVL_MODE_50 (FRONTIER_LVL_50 + 1)
#define APPRENTICE_LVL_MODE_OPEN (FRONTIER_LVL_OPEN + 1)
diff --git a/include/constants/battle_tower.h b/include/constants/battle_tower.h
index 6afd8a949..b372c3ad5 100644
--- a/include/constants/battle_tower.h
+++ b/include/constants/battle_tower.h
@@ -11,15 +11,31 @@
#define BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO 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_LOAD_PARTNERS 10
+#define BATTLE_TOWER_FUNC_PARTNER_MSG 11
+#define BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS 12
#define BATTLE_TOWER_FUNC_13 13
-#define BATTLE_TOWER_FUNC_14 14
+#define BATTLE_TOWER_FUNC_SET_PARTNER_GFX 14
#define BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA 15
#define TOWER_DATA_WIN_STREAK 1
#define TOWER_DATA_WIN_STREAK_ACTIVE 2
#define TOWER_DATA_LVL_MODE 3
+// IDs for the messages printed by potential partners in the Battle Tower Multi Partner Room
+#define PARTNER_MSGID_INTRO 0
+#define PARTNER_MSGID_MON1 1
+#define PARTNER_MSGID_MON2_ASK 2
+#define PARTNER_MSGID_ACCEPT 3
+#define PARTNER_MSGID_REJECT 4
+
+// IDs for communicating with the Link Multi partner
+#define BATTLE_TOWER_LINK_CONTINUE 0
+#define BATTLE_TOWER_LINK_RETIRE 1
+
+#define BATTLE_TOWER_LINKSTAT_CONTINUE 0
+#define BATTLE_TOWER_LINKSTAT_BOTH_RETIRE 1
+#define BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE 2
+#define BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE 3
+
#endif //GUARD_CONSTANTS_BATTLE_TOWER_H
diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h
index 5dde18058..a2dc117e4 100644
--- a/include/constants/field_specials.h
+++ b/include/constants/field_specials.h
@@ -7,7 +7,7 @@
#define PC_LOCATION_MAYS_HOUSE 2
// SS Tidal Locations
-#define SS_TIDAL_LOCATION_OTHER 0
+#define SS_TIDAL_LOCATION_CURRENTS 0
#define SS_TIDAL_LOCATION_SLATEPORT 1
#define SS_TIDAL_LOCATION_LILYCOVE 2
#define SS_TIDAL_LOCATION_ROUTE124 3
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 63a704de8..1163e394f 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1641,13 +1641,13 @@
#define DAILY_FLAGS_END FLAG_UNUSED_0x95F
// Special Flags (Stored in EWRAM (gSpecialFlags), not in the SaveBlock)
-#define SPECIAL_FLAGS_START 0x4000
-#define FLAG_HIDE_MAP_NAME_POPUP (SPECIAL_FLAGS_START + 0x0)
-#define FLAG_DONT_TRANSITION_MUSIC (SPECIAL_FLAGS_START + 0x1)
-#define FLAG_SPECIAL_FLAG_0x4002 (SPECIAL_FLAGS_START + 0x2)
-#define FLAG_SPECIAL_FLAG_UNUSED_0x4003 (SPECIAL_FLAGS_START + 0x3) // Unused Flag
-#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4)
+#define SPECIAL_FLAGS_START 0x4000
+#define FLAG_HIDE_MAP_NAME_POPUP (SPECIAL_FLAGS_START + 0x0)
+#define FLAG_DONT_TRANSITION_MUSIC (SPECIAL_FLAGS_START + 0x1)
+#define FLAG_ENABLE_MULTI_CORRIDOR_DOOR (SPECIAL_FLAGS_START + 0x2)
+#define FLAG_SPECIAL_FLAG_UNUSED_0x4003 (SPECIAL_FLAGS_START + 0x3) // Unused Flag
+#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4)
// FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused
-#define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F)
+#define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F)
#endif // GUARD_CONSTANTS_FLAGS_H
diff --git a/include/constants/frontier_util.h b/include/constants/frontier_util.h
index d71809169..a310dbb2d 100644
--- a/include/constants/frontier_util.h
+++ b/include/constants/frontier_util.h
@@ -42,7 +42,7 @@
#define FRONTIER_DATA_PAUSED 3
#define FRONTIER_DATA_SELECTED_MON_ORDER 4
#define FRONTIER_DATA_BATTLE_OUTCOME 5
-#define FRONTIER_DATA_6 6
+#define FRONTIER_DATA_RECORD_DISABLED 6
#define FRONTIER_DATA_HEARD_BRAIN_SPEECH 7
#define STREAK_TOWER_SINGLES_50 (1 << 0)
diff --git a/include/constants/item_effects.h b/include/constants/item_effects.h
index a5bb77035..49fcedc61 100644
--- a/include/constants/item_effects.h
+++ b/include/constants/item_effects.h
@@ -3,7 +3,7 @@
// field 0 masks
#define ITEM0_X_ATTACK 0x0F
-#define ITEM0_HIGH_CRIT 0x30 // For Dire Hit, works the same way as move Focus Energy.
+#define ITEM0_DIRE_HIT 0x30 // Works the same way as the move Focus Energy.
#define ITEM0_SACRED_ASH 0x40
#define ITEM0_INFATUATION 0x80
@@ -23,7 +23,7 @@
#define ITEM3_POISON 0x10
#define ITEM3_SLEEP 0x20
#define ITEM3_LEVEL_UP 0x40
-#define ITEM3_MIST 0x80 // For Guard Specs, works the same way as move Mist.
+#define ITEM3_GUARD_SPEC 0x80 // Works the same way as the move Mist.
#define ITEM3_STATUS_ALL (ITEM3_CONFUSION | ITEM3_PARALYSIS | ITEM3_FREEZE | ITEM3_BURN | ITEM3_POISON | ITEM3_SLEEP)
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
index 55715e336..3e876f499 100755
--- a/include/constants/layouts.h
+++ b/include/constants/layouts.h
@@ -390,8 +390,8 @@
#define LAYOUT_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM 387
#define LAYOUT_MIRAGE_TOWER_4F 388
#define LAYOUT_DESERT_UNDERPASS 389
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM 390
-#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 391
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM 390
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR 391
#define LAYOUT_ROUTE111_NO_MIRAGE_TOWER 392
#define LAYOUT_UNION_ROOM 393
#define LAYOUT_SAFARI_ZONE_NORTHEAST 394
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
index 75cb71da0..17fe7ab53 100755
--- a/include/constants/map_groups.h
+++ b/include/constants/map_groups.h
@@ -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_FLOOR (26 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL (37 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL (38 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS (39 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8))
-#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8))
-#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8))
-#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8))
-#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8))
-#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8))
-#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8))
-#define MAP_TRAINER_HILL_1F (61 | (26 << 8))
-#define MAP_TRAINER_HILL_2F (62 | (26 << 8))
-#define MAP_TRAINER_HILL_3F (63 | (26 << 8))
-#define MAP_TRAINER_HILL_4F (64 | (26 << 8))
-#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8))
-#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8))
-#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8))
-#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8))
-#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
-#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8))
-#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8))
-#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8))
-#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8))
-#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8))
-#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8))
+#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
+#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8))
+#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
+#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
+#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
+#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8))
+#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM (15 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR (16 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (17 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR (26 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL (37 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL (38 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS (39 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8))
+#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8))
+#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8))
+#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8))
+#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8))
+#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8))
+#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8))
+#define MAP_TRAINER_HILL_1F (61 | (26 << 8))
+#define MAP_TRAINER_HILL_2F (62 | (26 << 8))
+#define MAP_TRAINER_HILL_3F (63 | (26 << 8))
+#define MAP_TRAINER_HILL_4F (64 | (26 << 8))
+#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8))
+#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8))
+#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8))
+#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8))
+#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
+#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8))
+#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8))
+#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8))
+#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8))
+#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8))
+#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8))
// Map Group 27
#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8))
diff --git a/include/constants/opponents.h b/include/constants/opponents.h
index e76d206ca..cd35cf6b7 100644
--- a/include/constants/opponents.h
+++ b/include/constants/opponents.h
@@ -33,8 +33,8 @@
#define TRAINER_FREDRICK 29
#define TRAINER_MATT 30
#define TRAINER_ZANDER 31
-#define TRAINER_SHELLY_1 32
-#define TRAINER_SHELLY_2 33
+#define TRAINER_SHELLY_WEATHER_INSTITUTE 32
+#define TRAINER_SHELLY_SEAFLOOR_CAVERN 33
#define TRAINER_ARCHIE 34
#define TRAINER_LEAH 35
#define TRAINER_DAISY 36
@@ -515,30 +515,30 @@
#define TRAINER_CONOR 511
#define TRAINER_EDWIN_1 512
#define TRAINER_HECTOR 513
-#define TRAINER_TABITHA_1 514
+#define TRAINER_TABITHA_MOSSDEEP 514
#define TRAINER_EDWIN_2 515
#define TRAINER_EDWIN_3 516
#define TRAINER_EDWIN_4 517
#define TRAINER_EDWIN_5 518
-#define TRAINER_WALLY_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_WALLY_VR_1 519
+#define TRAINER_BRENDAN_ROUTE_103_MUDKIP 520
+#define TRAINER_BRENDAN_ROUTE_110_MUDKIP 521
+#define TRAINER_BRENDAN_ROUTE_119_MUDKIP 522
+#define TRAINER_BRENDAN_ROUTE_103_TREECKO 523
+#define TRAINER_BRENDAN_ROUTE_110_TREECKO 524
+#define TRAINER_BRENDAN_ROUTE_119_TREECKO 525
+#define TRAINER_BRENDAN_ROUTE_103_TORCHIC 526
+#define TRAINER_BRENDAN_ROUTE_110_TORCHIC 527
+#define TRAINER_BRENDAN_ROUTE_119_TORCHIC 528
+#define TRAINER_MAY_ROUTE_103_MUDKIP 529
+#define TRAINER_MAY_ROUTE_110_MUDKIP 530
+#define TRAINER_MAY_ROUTE_119_MUDKIP 531
+#define TRAINER_MAY_ROUTE_103_TREECKO 532
+#define TRAINER_MAY_ROUTE_110_TREECKO 533
+#define TRAINER_MAY_ROUTE_119_TREECKO 534
+#define TRAINER_MAY_ROUTE_103_TORCHIC 535
+#define TRAINER_MAY_ROUTE_110_TORCHIC 536
+#define TRAINER_MAY_ROUTE_119_TORCHIC 537
#define TRAINER_ISAAC_1 538
#define TRAINER_DAVIS 539
#define TRAINER_MITCHELL 540
@@ -593,17 +593,17 @@
#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_BRENDAN_RUSTBORO_TREECKO 592
+#define TRAINER_BRENDAN_RUSTBORO_MUDKIP 593
#define TRAINER_PAXTON 594
#define TRAINER_ISABELLA 595
#define TRAINER_GRUNT_WEATHER_INST_5 596
-#define TRAINER_TABITHA_2 597
+#define TRAINER_TABITHA_MT_CHIMNEY 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_BRENDAN_RUSTBORO_TORCHIC 599
+#define TRAINER_MAY_RUSTBORO_MUDKIP 600
+#define TRAINER_MAXIE_MAGMA_HIDEOUT 601
+#define TRAINER_MAXIE_MT_CHIMNEY 602
#define TRAINER_TIANA 603
#define TRAINER_HALEY_1 604
#define TRAINER_JANICE 605
@@ -657,17 +657,17 @@
#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_WALLY_MAUVILLE 656
+#define TRAINER_WALLY_VR_2 657
+#define TRAINER_WALLY_VR_3 658
+#define TRAINER_WALLY_VR_4 659
+#define TRAINER_WALLY_VR_5 660
+#define TRAINER_BRENDAN_LILYCOVE_MUDKIP 661
+#define TRAINER_BRENDAN_LILYCOVE_TREECKO 662
+#define TRAINER_BRENDAN_LILYCOVE_TORCHIC 663
+#define TRAINER_MAY_LILYCOVE_MUDKIP 664
+#define TRAINER_MAY_LILYCOVE_TREECKO 665
+#define TRAINER_MAY_LILYCOVE_TORCHIC 666
#define TRAINER_JONAH 667
#define TRAINER_HENRY 668
#define TRAINER_ROGER 669
@@ -733,9 +733,9 @@
#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_TABITHA_MAGMA_HIDEOUT 732
#define TRAINER_DARCY 733
-#define TRAINER_MAXIE_3 734
+#define TRAINER_MAXIE_MOSSDEEP 734
#define TRAINER_PETE 735
#define TRAINER_ISABELLE 736
#define TRAINER_ANDRES_1 737
@@ -769,8 +769,8 @@
#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_MAY_RUSTBORO_TREECKO 768
+#define TRAINER_MAY_RUSTBORO_TORCHIC 769
#define TRAINER_ROXANNE_2 770
#define TRAINER_ROXANNE_3 771
#define TRAINER_ROXANNE_4 772
@@ -854,8 +854,8 @@
#define TRAINER_EVERETT 850
#define TRAINER_RED 851
#define TRAINER_LEAF 852
-#define TRAINER_BRENDAN_16 853
-#define TRAINER_MAY_16 854
+#define TRAINER_BRENDAN_PLACEHOLDER 853
+#define TRAINER_MAY_PLACEHOLDER 854
// NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows
// More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled
diff --git a/include/constants/vars.h b/include/constants/vars.h
index d2782116f..7f622b6e3 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -273,7 +273,9 @@
#define VAR_UNUSED_0x40FE 0x40FE // Unused Var
#define VAR_UNUSED_0x40FF 0x40FF // Unused Var
-#define SPECIAL_VARS_START 0x8000
+#define VARS_END 0x40FF
+
+#define SPECIAL_VARS_START 0x8000
// special vars
// They are commonly used as parameters to commands, or return values from commands.
#define VAR_0x8000 0x8000
@@ -299,4 +301,6 @@
#define VAR_UNUSED_0x8014 0x8014
#define VAR_TRAINER_BATTLE_OPPONENT_A 0x8015 // Alias of gTrainerBattleOpponent_A
+#define SPECIAL_VARS_END 0x8015
+
#endif // GUARD_CONSTANTS_VARS_H