summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/berry.h2
-rw-r--r--include/constants/berry.h97
-rw-r--r--include/constants/daycare.h6
-rwxr-xr-xinclude/constants/event_object_movement.h2
-rw-r--r--include/constants/flags.h4
-rw-r--r--include/constants/global.h1
-rw-r--r--include/constants/item_effects.h4
-rwxr-xr-xinclude/constants/layouts.h50
-rwxr-xr-xinclude/constants/map_groups.h122
-rw-r--r--include/constants/pokemon.h18
-rw-r--r--include/event_object_movement.h4
-rw-r--r--include/evolution_graphics.h14
-rw-r--r--include/global.h40
-rw-r--r--include/pokemon.h22
-rw-r--r--include/trainer_see.h2
15 files changed, 261 insertions, 127 deletions
diff --git a/include/berry.h b/include/berry.h
index 3412caae5..4a5a46615 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -1,8 +1,6 @@
#ifndef GUARD_BERRY_H
#define GUARD_BERRY_H
-#include "constants/berry.h"
-
void ClearEnigmaBerries(void);
void SetEnigmaBerry(u8 *src);
bool32 IsEnigmaBerryValid(void);
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/daycare.h b/include/constants/daycare.h
index adb62fab5..e412d2ab7 100644
--- a/include/constants/daycare.h
+++ b/include/constants/daycare.h
@@ -1,11 +1,11 @@
#ifndef GUARD_DAYCARE_CONSTANTS_H
#define GUARD_DAYCARE_CONSTANTS_H
-// Parent compatability scores
+// Parent compatibility scores
#define PARENTS_INCOMPATIBLE 0
#define PARENTS_LOW_COMPATIBILITY 20
-#define PARENTS_MED_COMPATABILITY 50
-#define PARENTS_MAX_COMPATABILITY 70
+#define PARENTS_MED_COMPATIBILITY 50
+#define PARENTS_MAX_COMPATIBILITY 70
// Daycare state
#define DAYCARE_NO_MONS 0
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 bc611879e..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
diff --git a/include/constants/item_effects.h b/include/constants/item_effects.h
index 6e61c4d7f..f9f329f0f 100644
--- a/include/constants/item_effects.h
+++ b/include/constants/item_effects.h
@@ -56,6 +56,10 @@
#define ITEM6_HEAL_HALF ((u8) -2)
#define ITEM6_HEAL_LVL_UP ((u8) -3)
+// Amount of EV modified by ITEM4_EV_HP, ITEM4_EV_ATK, ITEM5_EV_DEF, ITEM5_EV_SPEED, ITEM5_EV_SPDEF and ITEM5_EV_SPATK
+#define ITEM6_ADD_EV 10
+#define ITEM6_SUBTRACT_EV -10
+
// Used for GetItemEffectType.
#define ITEM_EFFECT_X_ITEM 0
#define ITEM_EFFECT_RAISE_LEVEL 1
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/event_object_movement.h b/include/event_object_movement.h
index 247db9efc..1e754dcd9 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -255,7 +255,7 @@ void MovementType_CopyPlayer(struct Sprite *);
void MovementType_TreeDisguise(struct Sprite *);
void MovementType_MountainDisguise(struct Sprite *);
void MovementType_CopyPlayerInGrass(struct Sprite *);
-void MovementType_Hidden(struct Sprite *);
+void MovementType_Buried(struct Sprite *);
void MovementType_WalkInPlace(struct Sprite *);
void MovementType_JogInPlace(struct Sprite *);
void MovementType_RunInPlace(struct Sprite *);
@@ -413,7 +413,7 @@ bool8 cph_IM_DIFFERENT(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed4(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_Jump(struct ObjectEvent *, struct Sprite *, u8, bool8(u8));
u8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *, struct Sprite *);
-u8 MovementType_Hidden_Step0(struct ObjectEvent *, struct Sprite *);
+u8 MovementType_Buried_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementType_WalkInPlace_Step0(struct ObjectEvent *, struct Sprite *);
u8 MovementType_MoveInPlace_Step1(struct ObjectEvent *, struct Sprite *);
u8 MovementType_WalkSlowlyInPlace_Step0(struct ObjectEvent *, struct Sprite *);
diff --git a/include/evolution_graphics.h b/include/evolution_graphics.h
index f52105815..61051c69a 100644
--- a/include/evolution_graphics.h
+++ b/include/evolution_graphics.h
@@ -3,13 +3,11 @@
void LoadEvoSparkleSpriteAndPal(void);
-u8 LaunchTask_PreEvoSparklesSet1(u16 arg0);
-u8 LaunchTask_PreEvoSparklesSet2(void);
-u8 LaunchTask_PostEvoSparklesSet1(void);
-u8 LaunchTask_PostEvoSparklesSet2AndFlash(u16 species);
-u8 LaunchTask_PostEvoSparklesSet2AndFlash_Trade(u16 species);
-u8 sub_817C3A0(u8 preEvoSpriteID, u8 postEvoSpriteID);
-
-#define EvoGraphicsTaskEvoStop data[8]
+u8 EvolutionSparkles_SpiralUpward(u16 arg0);
+u8 EvolutionSparkles_ArcDown(void);
+u8 EvolutionSparkles_CircleInward(void);
+u8 EvolutionSparkles_SprayAndFlash(u16 species);
+u8 EvolutionSparkles_SprayAndFlash_Trade(u16 species);
+u8 CycleEvolutionMonSprite(u8 preEvoSpriteID, u8 postEvoSpriteID);
#endif // GUARD_EVOLUTION_GRAPHICS_H
diff --git a/include/global.h b/include/global.h
index ca3cf4452..5b1a7b44b 100644
--- a/include/global.h
+++ b/include/global.h
@@ -9,6 +9,7 @@
#include "constants/flags.h"
#include "constants/vars.h"
#include "constants/species.h"
+#include "constants/berry.h"
// Prevent cross-jump optimization.
#define BLOCK_CROSS_JUMP asm("");
@@ -897,6 +898,41 @@ struct MysteryEventStruct
/*0x344 0x3570*/ u32 unk_344[2][5];
}; // 0x36C 0x3598
+// For external event data storage. The majority of these may have never been used.
+struct ExternalEventData
+{
+ u8 unknownExternalDataFields1[7]; // if actually used, may be broken up into different fields.
+ u32 currentPokeCoupons; // PokéCoupons stored by Pokémon Colosseum and XD from Mt. Battle runs. Earned PokéCoupons are also added to totalEarnedPokeCoupons.
+ u32 totalEarnedPokeCoupons; // Used by the JP Colosseum bonus disc. Determines PokéCoupon rank to distribute rewards. Unread in International games.
+ u8 unknownExternalDataFields2[5]; // if actually used, may be broken up into different fields.
+} __attribute__((packed)); /*size = 0x14*/
+
+// For external event flags. The majority of these may have never been used.
+struct ExternalEventFlags
+{
+ u8 unknownFlag1;
+ u8 receivedWishmakerJirachi; // may also be used for Ageto Celebi?
+ u8 unknownFlag3;
+ u8 unknownFlag4;
+ u8 unknownFlag5;
+ u8 unknownFlag6;
+ u8 unknownFlag7;
+ u8 unknownFlag8;
+ u8 unknownFlag9;
+ u8 unknownFlag10;
+ u8 unknownFlag11;
+ u8 unknownFlag12;
+ u8 unknownFlag13;
+ u8 unknownFlag14;
+ u8 unknownFlag15;
+ u8 unknownFlag16;
+ u8 unknownFlag17;
+ u8 unknownFlag18;
+ u8 unknownFlag19;
+ u8 unknownFlag20;
+
+};/*size = 0x14*/
+
struct SaveBlock1
{
/*0x00*/ struct Coords16 pos;
@@ -970,7 +1006,9 @@ struct SaveBlock1
/*0x2e90*/ struct ContestWinner contestWinners[NUM_CONTEST_WINNERS]; // see CONTEST_WINNER_*
/*0x3030*/ struct DayCare daycare;
/*0x3150*/ struct LinkBattleRecords linkBattleRecords;
- /*0x31A8*/ u8 giftRibbons[52];
+ /*0x31A8*/ u8 giftRibbons[11];
+ /*0x31B3*/ struct ExternalEventData externalEventData;
+ /*0x31C7*/ struct ExternalEventFlags externalEventFlags;
/*0x31DC*/ struct Roamer roamer;
/*0x31F8*/ struct EnigmaBerry enigmaBerry;
/*0x322C*/ struct MEventBuffers unk_322C;
diff --git a/include/pokemon.h b/include/pokemon.h
index 654af3031..7d6e960d7 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -65,15 +65,15 @@ struct PokemonSubstruct3
/* 0x0A */ u32 victoryRibbon:1;
/* 0x0A */ u32 artistRibbon:1;
/* 0x0A */ u32 effortRibbon:1;
- /* 0x0A */ u32 giftRibbon1:1;
- /* 0x0A */ u32 giftRibbon2:1;
- /* 0x0A */ u32 giftRibbon3:1;
- /* 0x0A */ u32 giftRibbon4:1;
- /* 0x0B */ u32 giftRibbon5:1;
- /* 0x0B */ u32 giftRibbon6:1;
- /* 0x0B */ u32 giftRibbon7:1;
- /* 0x0B */ u32 fatefulEncounter:4;
- /* 0x0B */ u32 obedient:1;
+ /* 0x0A */ u32 marineRibbon:1; // never distributed
+ /* 0x0A */ u32 landRibbon:1; // never distributed
+ /* 0x0A */ u32 skyRibbon:1; // never distributed
+ /* 0x0A */ u32 countryRibbon:1; // distributed during Pokémon Festa '04 and '05 to tournament winners
+ /* 0x0B */ u32 nationalRibbon:1;
+ /* 0x0B */ u32 earthRibbon:1;
+ /* 0x0B */ u32 worldRibbon:1; // distributed during Pokémon Festa '04 and '05 to tournament winners
+ /* 0x0B */ u32 filler:4;
+ /* 0x0B */ u32 eventLegal:1; // controls Mew & Deoxys obedience; if set, Pokémon is a fateful encounter in Gen 4+; set for in-game event island legendaries, some distributed events, and Pokémon from XD: Gale of Darkness.
};
union PokemonSubstruct
@@ -286,12 +286,12 @@ void CreateBattleTowerMon2(struct Pokemon *mon, struct BattleTowerPokemon *src,
void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId);
void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId);
void ConvertPokemonToBattleTowerPokemon(struct Pokemon *mon, struct BattleTowerPokemon *dest);
-void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId);
+void CreateEventLegalMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId);
bool8 ShouldIgnoreDeoxysForm(u8 caseId, u8 battlerId);
void SetDeoxysStats(void);
u16 GetUnionRoomTrainerPic(void);
u16 GetUnionRoomTrainerClass(void);
-void CreateObedientEnemyMon(void);
+void CreateEventLegalEnemyMon(void);
void CalculateMonStats(struct Pokemon *mon);
void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest);
u8 GetLevelFromMonExp(struct Pokemon *mon);
diff --git a/include/trainer_see.h b/include/trainer_see.h
index 7a20671ea..ab808c720 100644
--- a/include/trainer_see.h
+++ b/include/trainer_see.h
@@ -17,7 +17,7 @@ extern bool8 gTrainerApproachedPlayer;
extern u8 gApproachingTrainerId;
bool8 CheckForTrainersWantingBattle(void);
-void SetHiddenTrainerMovement(struct ObjectEvent *var);
+void SetBuriedTrainerMovement(struct ObjectEvent *var);
void DoTrainerApproach(void);
void TryPrepareSecondApproachingTrainer(void);
u8 FldEff_ExclamationMarkIcon(void);