summaryrefslogtreecommitdiff
path: root/include/constants
diff options
context:
space:
mode:
Diffstat (limited to 'include/constants')
-rw-r--r--include/constants/berry.h97
-rwxr-xr-xinclude/constants/event_object_movement.h2
-rw-r--r--include/constants/flags.h4
-rw-r--r--include/constants/global.h3
-rwxr-xr-xinclude/constants/layouts.h50
-rwxr-xr-xinclude/constants/map_groups.h122
-rw-r--r--include/constants/pokemon.h18
-rwxr-xr-xinclude/constants/secret_bases.h58
8 files changed, 252 insertions, 102 deletions
diff --git a/include/constants/berry.h b/include/constants/berry.h
index 8f1e7cd82..3ba59c0f5 100644
--- a/include/constants/berry.h
+++ b/include/constants/berry.h
@@ -32,4 +32,101 @@
// - BERRY_STAGE_FLOWERING
#define NUM_WATER_STAGES 4
+// IDs for berry tree objects, indexes into berryTrees in SaveBlock1
+// Named for whatever berry is initially planted there on a new game
+// Those with no initial berry are named "soil"
+#define BERRY_TREE_ROUTE_102_PECHA 1
+#define BERRY_TREE_ROUTE_102_ORAN 2
+#define BERRY_TREE_ROUTE_104_SOIL_1 3
+#define BERRY_TREE_ROUTE_104_ORAN_1 4
+#define BERRY_TREE_ROUTE_103_CHERI_1 5
+#define BERRY_TREE_ROUTE_103_LEPPA 6
+#define BERRY_TREE_ROUTE_103_CHERI_2 7
+#define BERRY_TREE_ROUTE_104_CHERI_1 8
+#define BERRY_TREE_ROUTE_104_SOIL_2 9
+#define BERRY_TREE_ROUTE_104_LEPPA 10
+#define BERRY_TREE_ROUTE_104_ORAN_2 11
+#define BERRY_TREE_ROUTE_104_SOIL_3 12
+#define BERRY_TREE_ROUTE_104_PECHA 13
+#define BERRY_TREE_ROUTE_123_QUALOT_1 14
+#define BERRY_TREE_ROUTE_123_POMEG_1 15
+#define BERRY_TREE_ROUTE_110_NANAB_1 16
+#define BERRY_TREE_ROUTE_110_NANAB_2 17
+#define BERRY_TREE_ROUTE_110_NANAB_3 18
+#define BERRY_TREE_ROUTE_111_RAZZ_1 19
+#define BERRY_TREE_ROUTE_111_RAZZ_2 20
+#define BERRY_TREE_ROUTE_112_RAWST_1 21
+#define BERRY_TREE_ROUTE_112_PECHA_1 22
+#define BERRY_TREE_ROUTE_112_PECHA_2 23
+#define BERRY_TREE_ROUTE_112_RAWST_2 24
+#define BERRY_TREE_ROUTE_116_PINAP_1 25
+#define BERRY_TREE_ROUTE_116_CHESTO_1 26
+#define BERRY_TREE_ROUTE_117_WEPEAR_1 27
+#define BERRY_TREE_ROUTE_117_WEPEAR_2 28
+#define BERRY_TREE_ROUTE_117_WEPEAR_3 29
+#define BERRY_TREE_ROUTE_123_POMEG_2 30
+#define BERRY_TREE_ROUTE_118_SITRUS_1 31
+#define BERRY_TREE_ROUTE_118_SOIL 32
+#define BERRY_TREE_ROUTE_118_SITRUS_2 33
+#define BERRY_TREE_ROUTE_119_POMEG_1 34
+#define BERRY_TREE_ROUTE_119_POMEG_2 35
+#define BERRY_TREE_ROUTE_119_POMEG_3 36
+#define BERRY_TREE_ROUTE_120_ASPEAR_1 37
+#define BERRY_TREE_ROUTE_120_ASPEAR_2 38
+#define BERRY_TREE_ROUTE_120_ASPEAR_3 39
+#define BERRY_TREE_ROUTE_120_PECHA_1 40
+#define BERRY_TREE_ROUTE_120_PECHA_2 41
+#define BERRY_TREE_ROUTE_120_PECHA_3 42
+#define BERRY_TREE_ROUTE_120_RAZZ 43
+#define BERRY_TREE_ROUTE_120_NANAB 44
+#define BERRY_TREE_ROUTE_120_PINAP 45
+#define BERRY_TREE_ROUTE_120_WEPEAR 46
+#define BERRY_TREE_ROUTE_121_PERSIM 47
+#define BERRY_TREE_ROUTE_121_ASPEAR 48
+#define BERRY_TREE_ROUTE_121_RAWST 49
+#define BERRY_TREE_ROUTE_121_CHESTO 50
+#define BERRY_TREE_ROUTE_121_SOIL_1 51
+#define BERRY_TREE_ROUTE_121_NANAB_1 52
+#define BERRY_TREE_ROUTE_121_NANAB_2 53
+#define BERRY_TREE_ROUTE_121_SOIL_2 54
+#define BERRY_TREE_ROUTE_115_BLUK_1 55
+#define BERRY_TREE_ROUTE_115_BLUK_2 56
+#define BERRY_TREE_UNUSED 57
+#define BERRY_TREE_ROUTE_123_POMEG_3 58
+#define BERRY_TREE_ROUTE_123_POMEG_4 59
+#define BERRY_TREE_ROUTE_123_GREPA_1 60
+#define BERRY_TREE_ROUTE_123_GREPA_2 61
+#define BERRY_TREE_ROUTE_123_LEPPA_1 62
+#define BERRY_TREE_ROUTE_123_SOIL 63
+#define BERRY_TREE_ROUTE_123_LEPPA_2 64
+#define BERRY_TREE_ROUTE_123_GREPA_3 65
+#define BERRY_TREE_ROUTE_116_CHESTO_2 66
+#define BERRY_TREE_ROUTE_116_PINAP_2 67
+#define BERRY_TREE_ROUTE_114_PERSIM_1 68
+#define BERRY_TREE_ROUTE_115_KELPSY_1 69
+#define BERRY_TREE_ROUTE_115_KELPSY_2 70
+#define BERRY_TREE_ROUTE_115_KELPSY_3 71
+#define BERRY_TREE_ROUTE_123_GREPA_4 72
+#define BERRY_TREE_ROUTE_123_QUALOT_2 73
+#define BERRY_TREE_ROUTE_123_QUALOT_3 74
+#define BERRY_TREE_ROUTE_104_SOIL_4 75
+#define BERRY_TREE_ROUTE_104_CHERI_2 76
+#define BERRY_TREE_ROUTE_114_PERSIM_2 77
+#define BERRY_TREE_ROUTE_114_PERSIM_3 78
+#define BERRY_TREE_ROUTE_123_QUALOT_4 79
+#define BERRY_TREE_ROUTE_111_ORAN_1 80
+#define BERRY_TREE_ROUTE_111_ORAN_2 81
+#define BERRY_TREE_ROUTE_130_LIECHI 82
+#define BERRY_TREE_ROUTE_119_HONDEW_1 83
+#define BERRY_TREE_ROUTE_119_HONDEW_2 84
+#define BERRY_TREE_ROUTE_119_SITRUS 85
+#define BERRY_TREE_ROUTE_119_LEPPA 86
+#define BERRY_TREE_ROUTE_123_PECHA 87
+#define BERRY_TREE_ROUTE_123_SITRUS 88
+#define BERRY_TREE_ROUTE_123_RAWST 89
+
+// Remainder are unused
+
+#define BERRY_TREES_COUNT 128
+
#endif // GUARD_CONSTANTS_BERRY_H
diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h
index 6a4405b65..223650081 100755
--- a/include/constants/event_object_movement.h
+++ b/include/constants/event_object_movement.h
@@ -64,7 +64,7 @@
#define MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS 0x3C
#define MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS 0x3D
#define MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS 0x3E
-#define MOVEMENT_TYPE_HIDDEN 0x3F
+#define MOVEMENT_TYPE_BURIED 0x3F
#define MOVEMENT_TYPE_WALK_IN_PLACE_DOWN 0x40
#define MOVEMENT_TYPE_WALK_IN_PLACE_UP 0x41
#define MOVEMENT_TYPE_WALK_IN_PLACE_LEFT 0x42
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 9be269105..21b730de3 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -829,7 +829,7 @@
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_MOM 0x310
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_MOM 0x311
#define FLAG_HIDE_ROUTE_119_SCOTT 0x312
-#define FLAG_HIDE_LILCOVE_MOTEL_SCOTT 0x313
+#define FLAG_HIDE_LILYCOVE_MOTEL_SCOTT 0x313
#define FLAG_HIDE_MOSSDEEP_CITY_SCOTT 0x314
#define FLAG_HIDE_FANCLUB_OLD_LADY 0x315
#define FLAG_HIDE_FANCLUB_BOY 0x316
@@ -967,7 +967,7 @@
#define FLAG_HIDE_ROUTE_110_RIVAL_ON_BIKE 0x39A
#define FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE 0x39B
#define FLAG_HIDE_AQUA_HIDEOUT_GRUNTS 0x39C
-#define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS 0x39D
+#define FLAG_HIDE_LILYCOVE_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_PROF_COZMO 0x3A0
diff --git a/include/constants/global.h b/include/constants/global.h
index 55830ae8b..ee2fd3abc 100644
--- a/include/constants/global.h
+++ b/include/constants/global.h
@@ -33,7 +33,6 @@
#define DAYCARE_MON_COUNT 2
#define POKEBLOCKS_COUNT 40
#define OBJECT_EVENTS_COUNT 16
-#define BERRY_TREES_COUNT 128
#define MAIL_COUNT 16
#define SECRET_BASES_COUNT 20
#define TV_SHOWS_COUNT 25
@@ -70,7 +69,7 @@
// party sizes
#define PARTY_SIZE 6
-#define MULTI_PARTY_SIZE PARTY_SIZE / 2
+#define MULTI_PARTY_SIZE (PARTY_SIZE / 2)
#define FRONTIER_PARTY_SIZE 3
#define FRONTIER_DOUBLES_PARTY_SIZE 4
#define FRONTIER_MULTI_PARTY_SIZE 2
diff --git a/include/constants/layouts.h b/include/constants/layouts.h
index 9d5e877b0..db92c9594 100755
--- a/include/constants/layouts.h
+++ b/include/constants/layouts.h
@@ -79,7 +79,7 @@
#define LAYOUT_FALLARBOR_TOWN_LEFTOVER_RSCONTEST_LOBBY 72
#define LAYOUT_FALLARBOR_TOWN_LEFTOVER_RSCONTEST_HALL 73
#define LAYOUT_LILYCOVE_CITY_HOUSE2 74
-#define LAYOUT_UNKNOWN_08428450 75
+#define LAYOUT_UNUSED_CONTEST_ROOM1 75
#define LAYOUT_VERDANTURF_TOWN_WANDAS_HOUSE 76
#define LAYOUT_PACIFIDLOG_TOWN_HOUSE1 77
#define LAYOUT_PACIFIDLOG_TOWN_HOUSE2 78
@@ -87,8 +87,8 @@
#define LAYOUT_HOUSE_WITH_BED 80
#define LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_1F 81
#define LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_2F 82
-#define LAYOUT_UNKNOWN_084294C4 83
-#define LAYOUT_UNKNOWN_084294E8 84
+#define LAYOUT_UNUSED_CONTEST_ROOM2 83
+#define LAYOUT_UNUSED_CONTEST_ROOM3 84
#define LAYOUT_SLATEPORT_CITY_POKEMON_FAN_CLUB 85
#define LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_1F 86
#define LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_2F 87
@@ -174,20 +174,20 @@
#define LAYOUT_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM 167
#define LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM 168
#define LAYOUT_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM 169
-#define LAYOUT_UNKNOWN_0843E6C0 170
-#define LAYOUT_UNKNOWN_0843E6E4 171
-#define LAYOUT_UNKNOWN_0843E708 172
-#define LAYOUT_UNKNOWN_0843E72C 173
-#define LAYOUT_UNKNOWN_0843E750 174
-#define LAYOUT_UNKNOWN_0843E774 175
-#define LAYOUT_UNKNOWN_0843E798 176
-#define LAYOUT_UNKNOWN_0843E7BC 177
-#define LAYOUT_UNKNOWN_0843E7E0 178
-#define LAYOUT_UNKNOWN_0843E804 179
-#define LAYOUT_UNKNOWN_0843E828 180
-#define LAYOUT_UNKNOWN_0843E84C 181
-#define LAYOUT_UNKNOWN_0843E870 182
-#define LAYOUT_UNKNOWN_0843E894 183
+#define LAYOUT_UNUSED_CAVE1 170
+#define LAYOUT_UNUSED_CAVE2 171
+#define LAYOUT_UNUSED_CAVE3 172
+#define LAYOUT_UNUSED_CAVE4 173
+#define LAYOUT_UNUSED_CAVE5 174
+#define LAYOUT_UNUSED_CAVE6 175
+#define LAYOUT_UNUSED_CAVE7 176
+#define LAYOUT_UNUSED_CAVE8 177
+#define LAYOUT_UNUSED_CAVE9 178
+#define LAYOUT_UNUSED_CAVE10 179
+#define LAYOUT_UNUSED_CAVE11 180
+#define LAYOUT_UNUSED_CAVE12 181
+#define LAYOUT_UNUSED_CAVE13 182
+#define LAYOUT_UNUSED_CAVE14 183
#define LAYOUT_NEW_MAUVILLE_ENTRANCE 184
#define LAYOUT_NEW_MAUVILLE_INSIDE 185
#define LAYOUT_ABANDONED_SHIP_DECK 186
@@ -230,12 +230,12 @@
#define LAYOUT_RECORD_CORNER 223
#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_UNUSED_CONTEST_HALL1 226
+#define LAYOUT_UNUSED_CONTEST_HALL2 227
+#define LAYOUT_UNUSED_CONTEST_HALL3 228
+#define LAYOUT_UNUSED_CONTEST_HALL4 229
+#define LAYOUT_UNUSED_CONTEST_HALL5 230
+#define LAYOUT_UNUSED_CONTEST_HALL6 231
#define LAYOUT_CONTEST_HALL_BEAUTY 232
#define LAYOUT_CONTEST_HALL_TOUGH 233
#define LAYOUT_CONTEST_HALL_COOL 234
@@ -246,7 +246,7 @@
#define LAYOUT_SAFARI_ZONE_NORTH 239
#define LAYOUT_SAFARI_ZONE_SOUTHWEST 240
#define LAYOUT_SAFARI_ZONE_SOUTH 241
-#define LAYOUT_UNKNOWN_08447028 242
+#define LAYOUT_UNUSED_OUTDOOR_AREA 242
#define LAYOUT_ROUTE109_SEASHORE_HOUSE 243
#define LAYOUT_ROUTE110_TRICK_HOUSE_ENTRANCE 244
#define LAYOUT_ROUTE110_TRICK_HOUSE_END 245
@@ -363,7 +363,7 @@
#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM 356
#define LAYOUT_SOOTOPOLIS_CITY_LEGENDS_BATTLE 357
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS 358
-#define LAYOUT_UNKNOWN_084693AC 359
+#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_UNUSED 359
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY 360
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR 361
#define LAYOUT_BATTLE_PYRAMID_SQUARE01 362
diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h
index 69355635b..c650600e8 100755
--- a/include/constants/map_groups.h
+++ b/include/constants/map_groups.h
@@ -402,67 +402,67 @@
#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8))
// Map Group 25
-#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
-#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
-#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
-#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
-#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
-#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
-#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
-#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
-#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
-#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_BATTLE_COLOSSEUM_2P (24 | (25 << 8))
-#define MAP_TRADE_CENTER (25 | (25 << 8))
-#define MAP_RECORD_CORNER (26 | (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_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))
-#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE01 (44 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE02 (45 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE03 (46 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE04 (47 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE05 (48 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE06 (49 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE07 (50 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE08 (51 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE09 (52 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE10 (53 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE11 (54 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE12 (55 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE13 (56 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE14 (57 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE15 (58 | (25 << 8))
-#define MAP_BATTLE_PYRAMID_SQUARE16 (59 | (25 << 8))
-#define MAP_UNION_ROOM (60 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
+#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
+#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
+#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
+#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
+#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
+#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
+#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
+#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
+#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_BATTLE_COLOSSEUM_2P (24 | (25 << 8))
+#define MAP_TRADE_CENTER (25 | (25 << 8))
+#define MAP_RECORD_CORNER (26 | (25 << 8))
+#define MAP_BATTLE_COLOSSEUM_4P (27 | (25 << 8))
+#define MAP_CONTEST_HALL (28 | (25 << 8))
+#define MAP_UNUSED_CONTEST_HALL1 (29 | (25 << 8))
+#define MAP_UNUSED_CONTEST_HALL2 (30 | (25 << 8))
+#define MAP_UNUSED_CONTEST_HALL3 (31 | (25 << 8))
+#define MAP_UNUSED_CONTEST_HALL4 (32 | (25 << 8))
+#define MAP_UNUSED_CONTEST_HALL5 (33 | (25 << 8))
+#define MAP_UNUSED_CONTEST_HALL6 (34 | (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))
+#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE01 (44 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE02 (45 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE03 (46 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE04 (47 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE05 (48 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE06 (49 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE07 (50 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE08 (51 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE09 (52 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE10 (53 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE11 (54 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE12 (55 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE13 (56 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE14 (57 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE15 (58 | (25 << 8))
+#define MAP_BATTLE_PYRAMID_SQUARE16 (59 | (25 << 8))
+#define MAP_UNION_ROOM (60 | (25 << 8))
// Map Group 26
#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index d4f6e5684..e32ddf496 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -164,15 +164,15 @@
#define MON_DATA_VICTORY_RIBBON 69
#define MON_DATA_ARTIST_RIBBON 70
#define MON_DATA_EFFORT_RIBBON 71
-#define MON_DATA_GIFT_RIBBON_1 72
-#define MON_DATA_GIFT_RIBBON_2 73
-#define MON_DATA_GIFT_RIBBON_3 74
-#define MON_DATA_GIFT_RIBBON_4 75
-#define MON_DATA_GIFT_RIBBON_5 76
-#define MON_DATA_GIFT_RIBBON_6 77
-#define MON_DATA_GIFT_RIBBON_7 78
-#define MON_DATA_FATEFUL_ENCOUNTER 79
-#define MON_DATA_OBEDIENCE 80
+#define MON_DATA_MARINE_RIBBON 72
+#define MON_DATA_LAND_RIBBON 73
+#define MON_DATA_SKY_RIBBON 74
+#define MON_DATA_COUNTRY_RIBBON 75
+#define MON_DATA_NATIONAL_RIBBON 76
+#define MON_DATA_EARTH_RIBBON 77
+#define MON_DATA_WORLD_RIBBON 78
+#define MON_DATA_FILLER 79
+#define MON_DATA_EVENT_LEGAL 80
#define MON_DATA_KNOWN_MOVES 81
#define MON_DATA_RIBBON_COUNT 82
#define MON_DATA_RIBBONS 83
diff --git a/include/constants/secret_bases.h b/include/constants/secret_bases.h
index 2f405317d..e9188fbf5 100755
--- a/include/constants/secret_bases.h
+++ b/include/constants/secret_bases.h
@@ -12,106 +12,160 @@
// The secret base's map is determined by (id / 10). The ones
// digit is used to differentiate secret bases using the same map.
// Therefore, each secret base map can be used by up to 10 different
-// secret bases in the game. These ids are 1-based, but there is no
-// apparent reason for that.
+// secret bases in the game.
+
+// * 4 is for each byte of data per secret base group in sSecretBaseEntrancePositions
+// They are the map number, the entrance warp id, and the x/y position in front of the computer
+#define SECRET_BASE_GROUP(idx) ((idx) * 4)
+#define SECRET_BASE_ID_TO_GROUP(baseId) SECRET_BASE_GROUP((baseId) / 10)
#define SECRET_BASE_RED_CAVE1_1 1
#define SECRET_BASE_RED_CAVE1_2 2
#define SECRET_BASE_RED_CAVE1_3 3
+#define SECRET_BASE_RED_CAVE1 SECRET_BASE_GROUP(0)
+
#define SECRET_BASE_RED_CAVE2_1 11
#define SECRET_BASE_RED_CAVE2_2 12
#define SECRET_BASE_RED_CAVE2_3 13
+#define SECRET_BASE_RED_CAVE2 SECRET_BASE_GROUP(1)
+
#define SECRET_BASE_RED_CAVE3_1 21
#define SECRET_BASE_RED_CAVE3_2 22
#define SECRET_BASE_RED_CAVE3_3 23
+#define SECRET_BASE_RED_CAVE3 SECRET_BASE_GROUP(2)
+
#define SECRET_BASE_RED_CAVE4_1 31
#define SECRET_BASE_RED_CAVE4_2 32
#define SECRET_BASE_RED_CAVE4_3 33
+#define SECRET_BASE_RED_CAVE4 SECRET_BASE_GROUP(3)
+
#define SECRET_BASE_BROWN_CAVE1_1 41
#define SECRET_BASE_BROWN_CAVE1_2 42
#define SECRET_BASE_BROWN_CAVE1_3 43
+#define SECRET_BASE_BROWN_CAVE1 SECRET_BASE_GROUP(4)
+
#define SECRET_BASE_BROWN_CAVE2_1 51
#define SECRET_BASE_BROWN_CAVE2_2 52
#define SECRET_BASE_BROWN_CAVE2_3 53
+#define SECRET_BASE_BROWN_CAVE2 SECRET_BASE_GROUP(5)
+
#define SECRET_BASE_BROWN_CAVE3_1 61
#define SECRET_BASE_BROWN_CAVE3_2 62
#define SECRET_BASE_BROWN_CAVE3_3 63
+#define SECRET_BASE_BROWN_CAVE3 SECRET_BASE_GROUP(6)
+
#define SECRET_BASE_BROWN_CAVE4_1 71
#define SECRET_BASE_BROWN_CAVE4_2 72
#define SECRET_BASE_BROWN_CAVE4_3 73
+#define SECRET_BASE_BROWN_CAVE4 SECRET_BASE_GROUP(7)
+
#define SECRET_BASE_BLUE_CAVE1_1 81
#define SECRET_BASE_BLUE_CAVE1_2 82
#define SECRET_BASE_BLUE_CAVE1_3 83
+#define SECRET_BASE_BLUE_CAVE1 SECRET_BASE_GROUP(8)
+
#define SECRET_BASE_BLUE_CAVE2_1 91
#define SECRET_BASE_BLUE_CAVE2_2 92
#define SECRET_BASE_BLUE_CAVE2_3 93
+#define SECRET_BASE_BLUE_CAVE2 SECRET_BASE_GROUP(9)
+
#define SECRET_BASE_BLUE_CAVE3_1 101
#define SECRET_BASE_BLUE_CAVE3_2 102
#define SECRET_BASE_BLUE_CAVE3_3 103
+#define SECRET_BASE_BLUE_CAVE3 SECRET_BASE_GROUP(10)
+
#define SECRET_BASE_BLUE_CAVE4_1 111
#define SECRET_BASE_BLUE_CAVE4_2 112
#define SECRET_BASE_BLUE_CAVE4_3 113
+#define SECRET_BASE_BLUE_CAVE4 SECRET_BASE_GROUP(11)
+
#define SECRET_BASE_YELLOW_CAVE1_1 121
#define SECRET_BASE_YELLOW_CAVE1_2 122
#define SECRET_BASE_YELLOW_CAVE1_3 123
+#define SECRET_BASE_YELLOW_CAVE1 SECRET_BASE_GROUP(12)
+
#define SECRET_BASE_YELLOW_CAVE2_1 131
#define SECRET_BASE_YELLOW_CAVE2_2 132
#define SECRET_BASE_YELLOW_CAVE2_3 133
+#define SECRET_BASE_YELLOW_CAVE2 SECRET_BASE_GROUP(13)
+
#define SECRET_BASE_YELLOW_CAVE3_1 141
#define SECRET_BASE_YELLOW_CAVE3_2 142
#define SECRET_BASE_YELLOW_CAVE3_3 143
+#define SECRET_BASE_YELLOW_CAVE3 SECRET_BASE_GROUP(14)
+
#define SECRET_BASE_YELLOW_CAVE4_1 151
#define SECRET_BASE_YELLOW_CAVE4_2 152
#define SECRET_BASE_YELLOW_CAVE4_3 153
+#define SECRET_BASE_YELLOW_CAVE4 SECRET_BASE_GROUP(15)
+
#define SECRET_BASE_TREE1_1 161
#define SECRET_BASE_TREE1_2 162
#define SECRET_BASE_TREE1_3 163
#define SECRET_BASE_TREE1_4 164
+#define SECRET_BASE_TREE1 SECRET_BASE_GROUP(16)
+
#define SECRET_BASE_TREE2_1 171
#define SECRET_BASE_TREE2_2 172
#define SECRET_BASE_TREE2_3 173
#define SECRET_BASE_TREE2_4 174
+#define SECRET_BASE_TREE2 SECRET_BASE_GROUP(17)
+
#define SECRET_BASE_TREE3_1 181
#define SECRET_BASE_TREE3_2 182
#define SECRET_BASE_TREE3_3 183
+#define SECRET_BASE_TREE3 SECRET_BASE_GROUP(18)
+
#define SECRET_BASE_TREE4_1 191
#define SECRET_BASE_TREE4_2 192
#define SECRET_BASE_TREE4_3 193
+#define SECRET_BASE_TREE4 SECRET_BASE_GROUP(19)
+
#define SECRET_BASE_SHRUB1_1 201
#define SECRET_BASE_SHRUB1_2 202
#define SECRET_BASE_SHRUB1_3 203
#define SECRET_BASE_SHRUB1_4 204
+#define SECRET_BASE_SHRUB1 SECRET_BASE_GROUP(20)
+
#define SECRET_BASE_SHRUB2_1 211
#define SECRET_BASE_SHRUB2_2 212
#define SECRET_BASE_SHRUB2_3 213
+#define SECRET_BASE_SHRUB2 SECRET_BASE_GROUP(21)
+
#define SECRET_BASE_SHRUB3_1 221
#define SECRET_BASE_SHRUB3_2 222
#define SECRET_BASE_SHRUB3_3 223
+#define SECRET_BASE_SHRUB3 SECRET_BASE_GROUP(22)
+
#define SECRET_BASE_SHRUB4_1 231
#define SECRET_BASE_SHRUB4_2 232
#define SECRET_BASE_SHRUB4_3 233
+#define SECRET_BASE_SHRUB4 SECRET_BASE_GROUP(23)
+
+#define NUM_SECRET_BASE_GROUPS 24
+
#endif // GUARD_CONSTANTS_SECRET_BASES_H