summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/macros/map.inc12
-rw-r--r--constants/battle.inc8
-rw-r--r--data/battle_ai_scripts.s36
-rw-r--r--data/map_events.s2
-rw-r--r--data/maps/events/AbandonedShip_HiddenFloorRooms.inc8
-rw-r--r--data/maps/events/FallarborTown.inc2
-rw-r--r--data/maps/events/GraniteCave_B2F.inc4
-rw-r--r--data/maps/events/JaggedPass.inc14
-rw-r--r--data/maps/events/LavaridgeTown.inc2
-rw-r--r--data/maps/events/LilycoveCity.inc6
-rw-r--r--data/maps/events/MtPyre_Exterior.inc4
-rw-r--r--data/maps/events/MtPyre_Summit.inc4
-rw-r--r--data/maps/events/PetalburgCity.inc2
-rw-r--r--data/maps/events/PetalburgWoods.inc8
-rw-r--r--data/maps/events/Route104.inc10
-rw-r--r--data/maps/events/Route105.inc2
-rw-r--r--data/maps/events/Route106.inc6
-rw-r--r--data/maps/events/Route108.inc2
-rw-r--r--data/maps/events/Route109.inc12
-rw-r--r--data/maps/events/Route110.inc12
-rw-r--r--data/maps/events/Route110_TrickHouseEnd.inc2
-rw-r--r--data/maps/events/Route111.inc22
-rw-r--r--data/maps/events/Route113.inc44
-rw-r--r--data/maps/events/Route114.inc18
-rw-r--r--data/maps/events/Route115.inc24
-rw-r--r--data/maps/events/Route116.inc12
-rw-r--r--data/maps/events/Route117.inc2
-rw-r--r--data/maps/events/Route118.inc14
-rw-r--r--data/maps/events/Route119.inc80
-rw-r--r--data/maps/events/Route120.inc62
-rw-r--r--data/maps/events/Route121.inc14
-rw-r--r--data/maps/events/Route123.inc56
-rw-r--r--data/maps/events/Route125.inc8
-rw-r--r--data/maps/events/Route127.inc10
-rw-r--r--data/maps/events/Route128.inc6
-rw-r--r--data/maps/events/SSTidalLowerDeck.inc2
-rw-r--r--data/maps/events/Underwater1.inc14
-rw-r--r--data/maps/events/Underwater2.inc16
-rw-r--r--data/maps/events/Underwater3.inc8
-rw-r--r--data/maps/events/Underwater4.inc4
-rw-r--r--data/maps/events/VictoryRoad_1F.inc2
-rw-r--r--data/maps/events/VictoryRoad_B2F.inc4
-rw-r--r--data/scripts/maps/Route116.inc4
-rw-r--r--data/specials.inc2
-rw-r--r--include/constants/flags.h105
-rw-r--r--include/constants/secret_bases.h110
-rw-r--r--include/constants/weather.h39
-rw-r--r--include/field_weather.h12
-rw-r--r--include/global.fieldmap.h4
-rw-r--r--src/battle/battle_3.c11
-rw-r--r--src/field/coord_event_weather.c87
-rw-r--r--src/field/field_control_avatar.c4
-rw-r--r--src/field/field_specials.c4
-rw-r--r--src/field/field_weather.c25
-rw-r--r--src/field/field_weather_effects.c1
-rw-r--r--src/field/item_use.c5
56 files changed, 625 insertions, 368 deletions
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index 9c68e8414..db37d9346 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -40,6 +40,10 @@
inc _num_traps
.endm
+ .macro coord_weather_event x, y, height, weather
+ coord_event \x, \y, \height, 0, \weather, 0, 0, 0x0
+ .endm
+
.macro bg_event x, y, byte, kind, word, arg6, arg7, arg8
.2byte \x, \y
.byte \byte, \kind
@@ -53,6 +57,14 @@
inc _num_signs
.endm
+ .macro bg_hidden_item_event x, y, height, item, flag
+ bg_event \x, \y, \height, 7, 0, \item, ((\flag) - FLAG_HIDDEN_ITEMS_START), 0
+ .endm
+
+ .macro bg_secret_base_event x, y, height, secret_base_id
+ bg_event \x, \y, \height, 8, 0, \secret_base_id, 0, 0
+ .endm
+
.macro map_events npcs, warps, traps, signs
.byte _num_npcs, _num_warps, _num_traps, _num_signs
.4byte \npcs, \warps, \traps, \signs
diff --git a/constants/battle.inc b/constants/battle.inc
index 94b7a6d48..dfaa14779 100644
--- a/constants/battle.inc
+++ b/constants/battle.inc
@@ -40,10 +40,10 @@
.equiv TARGET, 0
.equiv USER, 1
-.equiv WEATHER_SUN, 0
-.equiv WEATHER_RAIN, 1
-.equiv WEATHER_SANDSTORM, 2
-.equiv WEATHER_HAIL, 3
+.equiv BATTLE_WEATHER_SUN, 0
+.equiv BATTLE_WEATHER_RAIN, 1
+.equiv BATTLE_WEATHER_SANDSTORM, 2
+.equiv BATTLE_WEATHER_HAIL, 3
enum_start 1
enum ATTACK
diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s
index 7c58160f6..270386359 100644
--- a/data/battle_ai_scripts.s
+++ b/data/battle_ai_scripts.s
@@ -439,7 +439,7 @@ AI_CBM_PerishSong: @ 81DA6BB
AI_CBM_Sandstorm: @ 81DA6C6
get_weather
- if_equal WEATHER_SANDSTORM, Score_Down8
+ if_equal BATTLE_WEATHER_SANDSTORM, Score_Down8
end
AI_CBM_Attract: @ 81DA6CE
@@ -479,12 +479,12 @@ AI_CBM_BatonPass: @ 81DA729
AI_CBM_RainDance: @ 81DA732
get_weather
- if_equal WEATHER_RAIN, Score_Down8
+ if_equal BATTLE_WEATHER_RAIN, Score_Down8
end
AI_CBM_SunnyDay: @ 81DA73A
get_weather
- if_equal WEATHER_SUN, Score_Down8
+ if_equal BATTLE_WEATHER_SUN, Score_Down8
end
AI_CBM_FutureSight: @ 81DA742
@@ -509,7 +509,7 @@ AI_CBM_SpitUpAndSwallow: @ 81DA75F
AI_CBM_Hail: @ 81DA76E
get_weather
- if_equal WEATHER_HAIL, Score_Down8
+ if_equal BATTLE_WEATHER_HAIL, Score_Down8
end
AI_CBM_Torment: @ 81DA776
@@ -1361,9 +1361,9 @@ AI_CV_Conversion_End: @ 81DB190
AI_CV_HealWeather: @ 81DB191
get_weather
- if_equal WEATHER_HAIL, AI_CV_HealWeather_ScoreDown2
- if_equal WEATHER_RAIN, AI_CV_HealWeather_ScoreDown2
- if_equal WEATHER_SANDSTORM, AI_CV_HealWeather_ScoreDown2
+ if_equal BATTLE_WEATHER_HAIL, AI_CV_HealWeather_ScoreDown2
+ if_equal BATTLE_WEATHER_RAIN, AI_CV_HealWeather_ScoreDown2
+ if_equal BATTLE_WEATHER_SANDSTORM, AI_CV_HealWeather_ScoreDown2
jump AI_CV_Heal
AI_CV_HealWeather_ScoreDown2: @ 81DB1A9
@@ -2107,9 +2107,9 @@ AI_CV_RainDance: @ 81DB8E9
AI_CV_RainDance2: @ 81DB8F7
if_hp_less_than USER, 40, AI_CV_RainDance_ScoreDown1
get_weather
- if_equal WEATHER_HAIL, AI_CV_RainDance3
- if_equal WEATHER_SUN, AI_CV_RainDance3
- if_equal WEATHER_SANDSTORM, AI_CV_RainDance3
+ if_equal BATTLE_WEATHER_HAIL, AI_CV_RainDance3
+ if_equal BATTLE_WEATHER_SUN, AI_CV_RainDance3
+ if_equal BATTLE_WEATHER_SANDSTORM, AI_CV_RainDance3
get_ability USER
if_equal ABILITY_RAIN_DISH, AI_CV_RainDance3
jump AI_CV_RainDance_End
@@ -2127,9 +2127,9 @@ AI_CV_RainDance_End: @ 81DB927
AI_CV_SunnyDay: @ 81DB928
if_hp_less_than USER, 40, AI_CV_SunnyDay_ScoreDown1
get_weather
- if_equal WEATHER_HAIL, AI_CV_SunnyDay2
- if_equal WEATHER_RAIN, AI_CV_SunnyDay2
- if_equal WEATHER_SANDSTORM, AI_CV_SunnyDay2
+ if_equal BATTLE_WEATHER_HAIL, AI_CV_SunnyDay2
+ if_equal BATTLE_WEATHER_RAIN, AI_CV_SunnyDay2
+ if_equal BATTLE_WEATHER_SANDSTORM, AI_CV_SunnyDay2
jump AI_CV_SunnyDay_End
AI_CV_SunnyDay2: @ 81DB947
@@ -2264,8 +2264,8 @@ AI_CV_Fly2: @ 81DBA9F
if_status2 TARGET, S_CURSED, AI_CV_Fly6
if_status3 TARGET, S_LEECH_SEED, AI_CV_Fly6
get_weather
- if_equal WEATHER_HAIL, AI_CV_Fly3
- if_equal WEATHER_SANDSTORM, AI_CV_Fly4
+ if_equal BATTLE_WEATHER_HAIL, AI_CV_Fly3
+ if_equal BATTLE_WEATHER_SANDSTORM, AI_CV_Fly4
jump AI_CV_Fly5
AI_CV_Fly3: @ 81DBACF
@@ -2317,9 +2317,9 @@ AI_CV_SpitUp_End: @ 81DBB2E
AI_CV_Hail: @ 81DBB2F
if_hp_less_than USER, 40, AI_CV_Hail_ScoreDown1
get_weather
- if_equal WEATHER_SUN, AI_CV_Hail2
- if_equal WEATHER_RAIN, AI_CV_Hail2
- if_equal WEATHER_SANDSTORM, AI_CV_Hail2
+ if_equal BATTLE_WEATHER_SUN, AI_CV_Hail2
+ if_equal BATTLE_WEATHER_RAIN, AI_CV_Hail2
+ if_equal BATTLE_WEATHER_SANDSTORM, AI_CV_Hail2
jump AI_CV_Hail_End
AI_CV_Hail2: @ 81DBB4E
diff --git a/data/map_events.s b/data/map_events.s
index 0a2a25fb0..a06eb36d0 100644
--- a/data/map_events.s
+++ b/data/map_events.s
@@ -2,7 +2,9 @@
#include "constants/items.h"
#include "constants/map_objects.h"
#include "constants/maps.h"
+#include "constants/secret_bases.h"
#include "constants/vars.h"
+#include "constants/weather.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
diff --git a/data/maps/events/AbandonedShip_HiddenFloorRooms.inc b/data/maps/events/AbandonedShip_HiddenFloorRooms.inc
index 2e6bb9a3f..998e4eeac 100644
--- a/data/maps/events/AbandonedShip_HiddenFloorRooms.inc
+++ b/data/maps/events/AbandonedShip_HiddenFloorRooms.inc
@@ -16,10 +16,10 @@ AbandonedShip_HiddenFloorRooms_MapWarps:: @ 838E5A0
warp_def 36, 1, 3, 5, MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS
AbandonedShip_HiddenFloorRooms_MapBGEvents:: @ 838E5E8
- bg_event 42, 10, 3, 7, 0, ITEM_ROOM_1_KEY, 31, 0
- bg_event 20, 5, 3, 7, 0, ITEM_ROOM_2_KEY, 32, 0
- bg_event 1, 12, 3, 7, 0, ITEM_ROOM_4_KEY, 33, 0
- bg_event 1, 2, 0, 7, 0, ITEM_ROOM_6_KEY, 34, 0
+ bg_hidden_item_event 42, 10, 3, ITEM_ROOM_1_KEY, FLAG_HIDDEN_ITEM_1F
+ bg_hidden_item_event 20, 5, 3, ITEM_ROOM_2_KEY, FLAG_HIDDEN_ITEM_20
+ bg_hidden_item_event 1, 12, 3, ITEM_ROOM_4_KEY, FLAG_HIDDEN_ITEM_21
+ bg_hidden_item_event 1, 2, 0, ITEM_ROOM_6_KEY, FLAG_HIDDEN_ITEM_22
bg_event 8, 5, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
bg_event 11, 3, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
bg_event 10, 10, 3, 0, 0, AbandonedShip_HiddenFloorRooms_EventScript_15EEAB
diff --git a/data/maps/events/FallarborTown.inc b/data/maps/events/FallarborTown.inc
index 755f205bc..025843194 100644
--- a/data/maps/events/FallarborTown.inc
+++ b/data/maps/events/FallarborTown.inc
@@ -19,7 +19,7 @@ FallarborTown_MapBGEvents:: @ 8380E8C
bg_event 10, 11, 0, 0, 0, FallarborTown_EventScript_14E842
bg_event 17, 15, 0, 1, 0, FallarborTown_EventScript_1A00E1
bg_event 3, 7, 0, 0, 0, FallarborTown_EventScript_14E84B
- bg_event 2, 15, 3, 7, 0, ITEM_NUGGET, 28, 0
+ bg_hidden_item_event 2, 15, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_1C
FallarborTown_MapEvents:: @ 8380EEC
map_events FallarborTown_MapObjects, FallarborTown_MapWarps, 0x0, FallarborTown_MapBGEvents
diff --git a/data/maps/events/GraniteCave_B2F.inc b/data/maps/events/GraniteCave_B2F.inc
index c8a7c5554..e251b3bef 100644
--- a/data/maps/events/GraniteCave_B2F.inc
+++ b/data/maps/events/GraniteCave_B2F.inc
@@ -17,8 +17,8 @@ GraniteCave_B2F_MapWarps:: @ 838C0C4
warp_def 29, 2, 3, 6, MAP_GRANITE_CAVE_B1F
GraniteCave_B2F_MapBGEvents:: @ 838C0EC
- bg_event 28, 6, 3, 7, 0, ITEM_EVERSTONE, 48, 0
- bg_event 15, 11, 3, 7, 0, ITEM_EVERSTONE, 49, 0
+ bg_hidden_item_event 28, 6, 3, ITEM_EVERSTONE, FLAG_HIDDEN_ITEM_30
+ bg_hidden_item_event 15, 11, 3, ITEM_EVERSTONE, FLAG_HIDDEN_ITEM_31
GraniteCave_B2F_MapEvents:: @ 838C104
map_events GraniteCave_B2F_MapObjects, GraniteCave_B2F_MapWarps, 0x0, GraniteCave_B2F_MapBGEvents
diff --git a/data/maps/events/JaggedPass.inc b/data/maps/events/JaggedPass.inc
index 654cbb9ae..e1103c816 100644
--- a/data/maps/events/JaggedPass.inc
+++ b/data/maps/events/JaggedPass.inc
@@ -11,15 +11,15 @@ JaggedPass_MapWarps:: @ 838C67C
warp_def 14, 5, 3, 3, MAP_MT_CHIMNEY
JaggedPass_MapCoordEvents:: @ 838C69C
- coord_event 13, 15, 3, 0, 2, 0, 0, 0x0
- coord_event 21, 12, 3, 0, 8, 0, 0, 0x0
- coord_event 14, 15, 3, 0, 2, 0, 0, 0x0
- coord_event 18, 17, 3, 0, 2, 0, 0, 0x0
- coord_event 22, 19, 3, 0, 2, 0, 0, 0x0
+ coord_weather_event 13, 15, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 21, 12, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 14, 15, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 18, 17, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 22, 19, 3, COORD_EVENT_WEATHER_SUNNY
JaggedPass_MapBGEvents:: @ 838C6EC
- bg_event 8, 10, 3, 7, 0, ITEM_FULL_HEAL, 77, 0
- bg_event 7, 29, 3, 7, 0, ITEM_GREAT_BALL, 76, 0
+ bg_hidden_item_event 8, 10, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_4D
+ bg_hidden_item_event 7, 29, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_4C
JaggedPass_MapEvents:: @ 838C704
map_events JaggedPass_MapObjects, JaggedPass_MapWarps, JaggedPass_MapCoordEvents, JaggedPass_MapBGEvents
diff --git a/data/maps/events/LavaridgeTown.inc b/data/maps/events/LavaridgeTown.inc
index c064f7823..27acd168f 100644
--- a/data/maps/events/LavaridgeTown.inc
+++ b/data/maps/events/LavaridgeTown.inc
@@ -28,7 +28,7 @@ LavaridgeTown_MapBGEvents:: @ 8380D90
bg_event 10, 6, 0, 1, 0, LavaridgeTown_EventScript_1A00EA
bg_event 16, 5, 0, 1, 0, LavaridgeTown_EventScript_1A00E1
bg_event 11, 6, 0, 1, 0, LavaridgeTown_EventScript_1A00EA
- bg_event 4, 5, 3, 7, 0, ITEM_ICE_HEAL, 0, 0
+ bg_hidden_item_event 4, 5, 3, ITEM_ICE_HEAL, FLAG_HIDDEN_ITEM_0
LavaridgeTown_MapEvents:: @ 8380DF0
map_events LavaridgeTown_MapObjects, LavaridgeTown_MapWarps, LavaridgeTown_MapCoordEvents, LavaridgeTown_MapBGEvents
diff --git a/data/maps/events/LilycoveCity.inc b/data/maps/events/LilycoveCity.inc
index 0822ded72..4f6acdcb2 100644
--- a/data/maps/events/LilycoveCity.inc
+++ b/data/maps/events/LilycoveCity.inc
@@ -45,9 +45,9 @@ LilycoveCity_MapBGEvents:: @ 838037C
bg_event 6, 30, 3, 0, 0, LilycoveCity_EventScript_14CCAC
bg_event 36, 14, 0, 0, 0, LilycoveCity_EventScript_14CCCA
bg_event 34, 6, 0, 0, 0, LilycoveCity_EventScript_14CCDC
- bg_event 36, 31, 3, 7, 0, ITEM_HEART_SCALE, 27, 0
- bg_event 61, 7, 0, 7, 0, ITEM_PP_UP, 43, 0
- bg_event 64, 31, 0, 7, 0, ITEM_POKE_BALL, 75, 0
+ bg_hidden_item_event 36, 31, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_1B
+ bg_hidden_item_event 61, 7, 0, ITEM_PP_UP, FLAG_HIDDEN_ITEM_2B
+ bg_hidden_item_event 64, 31, 0, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_4B
LilycoveCity_MapEvents:: @ 8380418
map_events LilycoveCity_MapObjects, LilycoveCity_MapWarps, 0x0, LilycoveCity_MapBGEvents
diff --git a/data/maps/events/MtPyre_Exterior.inc b/data/maps/events/MtPyre_Exterior.inc
index 71cb2095a..77668758d 100644
--- a/data/maps/events/MtPyre_Exterior.inc
+++ b/data/maps/events/MtPyre_Exterior.inc
@@ -15,8 +15,8 @@ MtPyre_Exterior_MapCoordEvents:: @ 838CB5C
coord_event 26, 21, 3, 0, 0, 0, 0, MtPyre_Exterior_EventScript_15D4A7
MtPyre_Exterior_MapBGEvents:: @ 838CBAC
- bg_event 9, 8, 0, 7, 0, ITEM_ULTRA_BALL, 29, 0
- bg_event 16, 22, 0, 7, 0, ITEM_MAX_ETHER, 78, 0
+ bg_hidden_item_event 9, 8, 0, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_1D
+ bg_hidden_item_event 16, 22, 0, ITEM_MAX_ETHER, FLAG_HIDDEN_ITEM_4E
MtPyre_Exterior_MapEvents:: @ 838CBC4
map_events MtPyre_Exterior_MapObjects, MtPyre_Exterior_MapWarps, MtPyre_Exterior_MapCoordEvents, MtPyre_Exterior_MapBGEvents
diff --git a/data/maps/events/MtPyre_Summit.inc b/data/maps/events/MtPyre_Summit.inc
index 3aaf21244..64399add8 100644
--- a/data/maps/events/MtPyre_Summit.inc
+++ b/data/maps/events/MtPyre_Summit.inc
@@ -20,8 +20,8 @@ MtPyre_Summit_MapCoordEvents:: @ 838CC80
coord_event 24, 7, 3, 0, VAR_MT_PYRE_STATE, 2, 0, MtPyre_Summit_EventScript_15D6E6
MtPyre_Summit_MapBGEvents:: @ 838CCE0
- bg_event 9, 25, 0, 7, 0, ITEM_ZINC, 79, 0
- bg_event 37, 7, 3, 7, 0, ITEM_RARE_CANDY, 80, 0
+ bg_hidden_item_event 9, 25, 0, ITEM_ZINC, FLAG_HIDDEN_ITEM_4F
+ bg_hidden_item_event 37, 7, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_50
MtPyre_Summit_MapEvents:: @ 838CCF8
map_events MtPyre_Summit_MapObjects, MtPyre_Summit_MapWarps, MtPyre_Summit_MapCoordEvents, MtPyre_Summit_MapBGEvents
diff --git a/data/maps/events/PetalburgCity.inc b/data/maps/events/PetalburgCity.inc
index 4b169abac..3b22cca9b 100644
--- a/data/maps/events/PetalburgCity.inc
+++ b/data/maps/events/PetalburgCity.inc
@@ -31,7 +31,7 @@ PetalburgCity_MapBGEvents:: @ 837F738
bg_event 22, 16, 0, 1, 0, PetalburgCity_EventScript_1A00EA
bg_event 27, 12, 0, 1, 0, PetalburgCity_EventScript_1A00E1
bg_event 8, 9, 0, 0, 0, PetalburgCity_EventScript_14B82D
- bg_event 11, 29, 3, 7, 0, ITEM_RARE_CANDY, 95, 0
+ bg_hidden_item_event 11, 29, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_5F
PetalburgCity_MapEvents:: @ 837F798
map_events PetalburgCity_MapObjects, PetalburgCity_MapWarps, PetalburgCity_MapCoordEvents, PetalburgCity_MapBGEvents
diff --git a/data/maps/events/PetalburgWoods.inc b/data/maps/events/PetalburgWoods.inc
index 4094fc103..91e59d6c5 100644
--- a/data/maps/events/PetalburgWoods.inc
+++ b/data/maps/events/PetalburgWoods.inc
@@ -27,10 +27,10 @@ PetalburgWoods_MapCoordEvents:: @ 838C2B4
PetalburgWoods_MapBGEvents:: @ 838C2D4
bg_event 14, 32, 3, 0, 0, PetalburgWoods_EventScript_15CF15
- bg_event 39, 35, 3, 7, 0, ITEM_POTION, 58, 0
- bg_event 26, 6, 3, 7, 0, ITEM_TINY_MUSHROOM, 59, 0
- bg_event 40, 29, 3, 7, 0, ITEM_TINY_MUSHROOM, 60, 0
- bg_event 4, 19, 3, 7, 0, ITEM_POKE_BALL, 61, 0
+ bg_hidden_item_event 39, 35, 3, ITEM_POTION, FLAG_HIDDEN_ITEM_3A
+ bg_hidden_item_event 26, 6, 3, ITEM_TINY_MUSHROOM, FLAG_HIDDEN_ITEM_3B
+ bg_hidden_item_event 40, 29, 3, ITEM_TINY_MUSHROOM, FLAG_HIDDEN_ITEM_3C
+ bg_hidden_item_event 4, 19, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_3D
bg_event 11, 8, 3, 0, 0, PetalburgWoods_EventScript_15CF1E
PetalburgWoods_MapEvents:: @ 838C31C
diff --git a/data/maps/events/Route104.inc b/data/maps/events/Route104.inc
index f7034ff26..dfbd27da2 100644
--- a/data/maps/events/Route104.inc
+++ b/data/maps/events/Route104.inc
@@ -48,11 +48,11 @@ Route104_MapBGEvents:: @ 83817C8
bg_event 23, 5, 0, 0, 0, Route104_EventScript_14EF66
bg_event 7, 20, 0, 0, 0, Route104_EventScript_14EF6F
bg_event 17, 23, 3, 0, 0, Route104_EventScript_14EF78
- bg_event 7, 6, 3, 7, 0, ITEM_SUPER_POTION, 44, 0
- bg_event 3, 9, 3, 7, 0, ITEM_POKE_BALL, 62, 0
- bg_event 14, 55, 3, 7, 0, ITEM_POTION, 37, 0
- bg_event 16, 72, 3, 7, 0, ITEM_ANTIDOTE, 85, 0
- bg_event 16, 64, 3, 7, 0, ITEM_HEART_SCALE, 88, 0
+ bg_hidden_item_event 7, 6, 3, ITEM_SUPER_POTION, FLAG_HIDDEN_ITEM_2C
+ bg_hidden_item_event 3, 9, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_3E
+ bg_hidden_item_event 14, 55, 3, ITEM_POTION, FLAG_HIDDEN_ITEM_25
+ bg_hidden_item_event 16, 72, 3, ITEM_ANTIDOTE, FLAG_HIDDEN_ITEM_55
+ bg_hidden_item_event 16, 64, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_58
Route104_MapEvents:: @ 8381840
map_events Route104_MapObjects, Route104_MapWarps, 0x0, Route104_MapBGEvents
diff --git a/data/maps/events/Route105.inc b/data/maps/events/Route105.inc
index 45c0866e3..5707106bd 100644
--- a/data/maps/events/Route105.inc
+++ b/data/maps/events/Route105.inc
@@ -10,7 +10,7 @@ Route105_MapWarps:: @ 83818E4
warp_def 9, 20, 0, 0, MAP_ISLAND_CAVE
Route105_MapBGEvents:: @ 83818EC
- bg_event 15, 68, 3, 7, 0, ITEM_HEART_SCALE, 89, 0
+ bg_hidden_item_event 15, 68, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_59
Route105_MapEvents:: @ 83818F8
map_events Route105_MapObjects, Route105_MapWarps, 0x0, Route105_MapBGEvents
diff --git a/data/maps/events/Route106.inc b/data/maps/events/Route106.inc
index 991e12f74..7c326ceea 100644
--- a/data/maps/events/Route106.inc
+++ b/data/maps/events/Route106.inc
@@ -9,9 +9,9 @@ Route106_MapWarps:: @ 8381984
warp_def 48, 16, 0, 0, MAP_GRANITE_CAVE_1F
Route106_MapBGEvents:: @ 838198C
- bg_event 41, 11, 3, 7, 0, ITEM_POKE_BALL, 63, 0
- bg_event 53, 12, 0, 7, 0, ITEM_STARDUST, 46, 0
- bg_event 68, 15, 3, 7, 0, ITEM_HEART_SCALE, 47, 0
+ bg_hidden_item_event 41, 11, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_3F
+ bg_hidden_item_event 53, 12, 0, ITEM_STARDUST, FLAG_HIDDEN_ITEM_2E
+ bg_hidden_item_event 68, 15, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_2F
bg_event 59, 13, 3, 0, 0, Route106_EventScript_14F32F
Route106_MapEvents:: @ 83819BC
diff --git a/data/maps/events/Route108.inc b/data/maps/events/Route108.inc
index ad695e8b9..7b6471080 100644
--- a/data/maps/events/Route108.inc
+++ b/data/maps/events/Route108.inc
@@ -8,7 +8,7 @@ Route108_MapWarps:: @ 8381AD4
warp_def 29, 6, 3, 0, MAP_ABANDONED_SHIP_DECK
Route108_MapBGEvents:: @ 8381ADC
- bg_event 38, 14, 3, 7, 0, ITEM_RARE_CANDY, 86, 0
+ bg_hidden_item_event 38, 14, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_56
Route108_MapEvents:: @ 8381AE8
map_events Route108_MapObjects, Route108_MapWarps, 0x0, Route108_MapBGEvents
diff --git a/data/maps/events/Route109.inc b/data/maps/events/Route109.inc
index 5924bc0d2..95a635a6e 100644
--- a/data/maps/events/Route109.inc
+++ b/data/maps/events/Route109.inc
@@ -26,12 +26,12 @@ Route109_MapWarps:: @ 8381CDC
Route109_MapBGEvents:: @ 8381CE4
bg_event 15, 5, 0, 0, 0, Route109_EventScript_14F79B
bg_event 29, 10, 3, 0, 0, Route109_EventScript_14F7A4
- bg_event 16, 23, 3, 7, 0, ITEM_REVIVE, 50, 0
- bg_event 33, 5, 3, 7, 0, ITEM_HEART_SCALE, 52, 0
- bg_event 9, 10, 3, 7, 0, ITEM_GREAT_BALL, 51, 0
- bg_event 28, 20, 3, 7, 0, ITEM_ETHER, 64, 0
- bg_event 13, 16, 3, 7, 0, ITEM_HEART_SCALE, 90, 0
- bg_event 8, 42, 3, 7, 0, ITEM_HEART_SCALE, 91, 0
+ bg_hidden_item_event 16, 23, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_32
+ bg_hidden_item_event 33, 5, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_34
+ bg_hidden_item_event 9, 10, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_33
+ bg_hidden_item_event 28, 20, 3, ITEM_ETHER, FLAG_HIDDEN_ITEM_40
+ bg_hidden_item_event 13, 16, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5A
+ bg_hidden_item_event 8, 42, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5B
Route109_MapEvents:: @ 8381D44
map_events Route109_MapObjects, Route109_MapWarps, 0x0, Route109_MapBGEvents
diff --git a/data/maps/events/Route110.inc b/data/maps/events/Route110.inc
index 278fee52b..436b44e56 100644
--- a/data/maps/events/Route110.inc
+++ b/data/maps/events/Route110.inc
@@ -53,16 +53,16 @@ Route110_MapBGEvents:: @ 83820C0
bg_event 20, 94, 0, 0, 0, Route110_EventScript_14F9DD
bg_event 7, 75, 0, 0, 0, Route110_EventScript_14F9F8
bg_event 3, 17, 0, 0, 0, Route110_EventScript_14FA0A
- bg_event 16, 25, 0, 8, 0, ITEM_MACHO_BRACE, 0, 0
- bg_event 17, 25, 0, 8, 0, ITEM_SOUL_DEW, 0, 0
+ bg_secret_base_event 16, 25, 0, SECRET_BASE_TREE3_1
+ bg_secret_base_event 17, 25, 0, SECRET_BASE_TREE4_1
bg_event 35, 39, 3, 0, 0, Route110_EventScript_14FA13
bg_event 37, 70, 3, 0, 0, Route110_EventScript_14FA1C
bg_event 8, 67, 0, 0, 0, Route110_EventScript_14FA25
bg_event 32, 93, 0, 0, 0, Route110_EventScript_14FA2E
- bg_event 26, 40, 3, 7, 0, ITEM_REVIVE, 54, 0
- bg_event 34, 42, 3, 7, 0, ITEM_GREAT_BALL, 53, 0
- bg_event 4, 35, 3, 7, 0, ITEM_POKE_BALL, 65, 0
- bg_event 37, 67, 3, 7, 0, ITEM_FULL_HEAL, 55, 0
+ bg_hidden_item_event 26, 40, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_36
+ bg_hidden_item_event 34, 42, 3, ITEM_GREAT_BALL, FLAG_HIDDEN_ITEM_35
+ bg_hidden_item_event 4, 35, 3, ITEM_POKE_BALL, FLAG_HIDDEN_ITEM_41
+ bg_hidden_item_event 37, 67, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_37
bg_event 13, 16, 0, 0, 0, Route110_EventScript_14F9E6
Route110_MapEvents:: @ 838218C
diff --git a/data/maps/events/Route110_TrickHouseEnd.inc b/data/maps/events/Route110_TrickHouseEnd.inc
index e3b83d48f..ee4e5952e 100644
--- a/data/maps/events/Route110_TrickHouseEnd.inc
+++ b/data/maps/events/Route110_TrickHouseEnd.inc
@@ -9,7 +9,7 @@ Route110_TrickHouseEnd_MapCoordEvents:: @ 83921F8
coord_event 2, 2, 3, 0, VAR_TEMP_2, 0, 0, Route110_TrickHouseEnd_EventScript_161CA0
Route110_TrickHouseEnd_MapBGEvents:: @ 8392208
- bg_event 4, 5, 3, 7, 0, ITEM_NUGGET, 1, 0
+ bg_hidden_item_event 4, 5, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_1
Route110_TrickHouseEnd_MapEvents:: @ 8392214
map_events Route110_TrickHouseEnd_MapObjects, Route110_TrickHouseEnd_MapWarps, Route110_TrickHouseEnd_MapCoordEvents, Route110_TrickHouseEnd_MapBGEvents
diff --git a/data/maps/events/Route111.inc b/data/maps/events/Route111.inc
index e3ae3bb04..ef205af37 100644
--- a/data/maps/events/Route111.inc
+++ b/data/maps/events/Route111.inc
@@ -82,19 +82,19 @@ Route111_MapBGEvents:: @ 8382738
bg_event 24, 126, 0, 0, 0, Route111_EventScript_15035F
bg_event 7, 66, 0, 0, 0, Route111_EventScript_150371
bg_event 13, 6, 0, 0, 0, Route111_EventScript_15037A
- bg_event 24, 36, 0, 8, 0, ITEM_FAB_MAIL, 0, 0
- bg_event 34, 50, 0, 8, 0, ITEM_LUM_BERRY, 0, 0
- bg_event 33, 34, 0, 8, 0, ITEM_ORANGE_MAIL, 0, 0
+ bg_secret_base_event 24, 36, 0, SECRET_BASE_YELLOW_CAVE2_1
+ bg_secret_base_event 34, 50, 0, SECRET_BASE_YELLOW_CAVE3_1
+ bg_secret_base_event 33, 34, 0, SECRET_BASE_YELLOW_CAVE1_1
bg_event 25, 19, 0, 0, 0, Route111_EventScript_150383
- bg_event 35, 1, 0, 8, 0, ITEM_POTION, 0, 0
- bg_event 35, 31, 0, 8, 0, ITEM_POMEG_BERRY, 0, 0
- bg_event 26, 70, 0, 7, 0, ITEM_STARDUST, 2, 0
- bg_event 27, 27, 3, 8, 0, ITEM_REVIVAL_HERB, 0, 0
+ bg_secret_base_event 35, 1, 0, SECRET_BASE_RED_CAVE2_3
+ bg_secret_base_event 35, 31, 0, SECRET_BASE_YELLOW_CAVE4_3
+ bg_hidden_item_event 26, 70, 0, ITEM_STARDUST, FLAG_HIDDEN_ITEM_2
+ bg_secret_base_event 27, 27, 3, SECRET_BASE_RED_CAVE4_3
bg_event 7, 84, 3, 0, 0, Route111_EventScript_15038C
- bg_event 14, 19, 0, 8, 0, ITEM_PAMTRE_BERRY, 0, 0
- bg_event 13, 19, 0, 8, 0, ITEM_RABUTA_BERRY, 0, 0
- bg_event 19, 55, 0, 7, 0, ITEM_PROTEIN, 56, 0
- bg_event 35, 66, 0, 7, 0, ITEM_RARE_CANDY, 57, 0
+ bg_secret_base_event 14, 19, 0, SECRET_BASE_TREE1_4
+ bg_secret_base_event 13, 19, 0, SECRET_BASE_TREE1_1
+ bg_hidden_item_event 19, 55, 0, ITEM_PROTEIN, FLAG_HIDDEN_ITEM_38
+ bg_hidden_item_event 35, 66, 0, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_39
Route111_MapEvents:: @ 8382804
map_events Route111_MapObjects, Route111_MapWarps, Route111_MapCoordEvents, Route111_MapBGEvents
diff --git a/data/maps/events/Route113.inc b/data/maps/events/Route113.inc
index dec48e2e1..dccaf6e82 100644
--- a/data/maps/events/Route113.inc
+++ b/data/maps/events/Route113.inc
@@ -15,34 +15,34 @@ Route113_MapWarps:: @ 8382AA8
warp_def 33, 5, 0, 0, MAP_ROUTE113_GLASS_WORKSHOP
Route113_MapCoordEvents:: @ 8382AB0
- coord_event 19, 11, 3, 0, 8, 0, 0, 0x0
- coord_event 19, 10, 3, 0, 8, 0, 0, 0x0
- coord_event 19, 12, 3, 0, 8, 0, 0, 0x0
- coord_event 19, 13, 3, 0, 8, 0, 0, 0x0
- coord_event 87, 9, 3, 0, 8, 0, 0, 0x0
- coord_event 86, 10, 3, 0, 8, 0, 0, 0x0
- coord_event 86, 11, 3, 0, 8, 0, 0, 0x0
- coord_event 14, 10, 3, 0, 2, 0, 0, 0x0
- coord_event 14, 11, 3, 0, 2, 0, 0, 0x0
- coord_event 14, 12, 3, 0, 2, 0, 0, 0x0
- coord_event 14, 13, 3, 0, 2, 0, 0, 0x0
- coord_event 94, 8, 3, 0, 2, 0, 0, 0x0
- coord_event 94, 9, 3, 0, 2, 0, 0, 0x0
- coord_event 94, 10, 3, 0, 2, 0, 0, 0x0
- coord_event 94, 11, 0, 0, 2, 0, 0, 0x0
- coord_event 19, 14, 3, 0, 8, 0, 0, 0x0
- coord_event 88, 8, 3, 0, 8, 0, 0, 0x0
- coord_event 88, 6, 3, 0, 8, 0, 0, 0x0
- coord_event 88, 7, 3, 0, 8, 0, 0, 0x0
+ coord_weather_event 19, 11, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 19, 10, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 19, 12, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 19, 13, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 87, 9, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 86, 10, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 86, 11, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 14, 10, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 14, 11, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 14, 12, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 14, 13, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 94, 8, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 94, 9, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 94, 10, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 94, 11, 0, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 19, 14, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 88, 8, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 88, 6, 3, COORD_EVENT_WEATHER_ASH
+ coord_weather_event 88, 7, 3, COORD_EVENT_WEATHER_ASH
Route113_MapBGEvents:: @ 8382BE0
bg_event 85, 6, 0, 0, 0, Route113_EventScript_150617
bg_event 11, 9, 0, 0, 0, Route113_EventScript_150620
bg_event 58, 4, 3, 0, 0, Route113_EventScript_150632
bg_event 31, 5, 0, 0, 0, Route113_EventScript_150629
- bg_event 49, 8, 0, 8, 0, ITEM_GREAT_BALL, 0, 0
- bg_event 72, 4, 3, 7, 0, ITEM_ETHER, 3, 0
- bg_event 22, 5, 3, 7, 0, ITEM_TM32, 30, 0
+ bg_secret_base_event 49, 8, 0, SECRET_BASE_RED_CAVE1_3
+ bg_hidden_item_event 72, 4, 3, ITEM_ETHER, FLAG_HIDDEN_ITEM_3
+ bg_hidden_item_event 22, 5, 3, ITEM_TM32, FLAG_HIDDEN_ITEM_1E
Route113_MapEvents:: @ 8382C34
map_events Route113_MapObjects, Route113_MapWarps, Route113_MapCoordEvents, Route113_MapBGEvents
diff --git a/data/maps/events/Route114.inc b/data/maps/events/Route114.inc
index 0e4097651..0687dc0e9 100644
--- a/data/maps/events/Route114.inc
+++ b/data/maps/events/Route114.inc
@@ -31,16 +31,16 @@ Route114_MapWarps:: @ 8382E70
Route114_MapBGEvents:: @ 8382E88
bg_event 7, 64, 0, 0, 0, Route114_EventScript_1507D6
bg_event 31, 7, 0, 0, 0, Route114_EventScript_1507DF
- bg_event 9, 47, 0, 8, 0, ITEM_RED_FLUTE, 0, 0
- bg_event 30, 51, 0, 8, 0, ITEM_GREEN_SHARD, 0, 0
- bg_event 11, 62, 0, 8, 0, 61, 0, 0
- bg_event 19, 70, 0, 8, 0, ITEM_PP_MAX, 0, 0
- bg_event 11, 27, 0, 8, 0, ITEM_EXP_SHARE, 0, 0
- bg_event 12, 27, 0, 8, 0, ITEM_DEEP_SEA_TOOTH, 0, 0
+ bg_secret_base_event 9, 47, 0, SECRET_BASE_BROWN_CAVE1_1
+ bg_secret_base_event 30, 51, 0, SECRET_BASE_BROWN_CAVE2_1
+ bg_secret_base_event 11, 62, 0, SECRET_BASE_BROWN_CAVE3_1
+ bg_secret_base_event 19, 70, 0, SECRET_BASE_BROWN_CAVE4_1
+ bg_secret_base_event 11, 27, 0, SECRET_BASE_TREE3_2
+ bg_secret_base_event 12, 27, 0, SECRET_BASE_TREE4_2
bg_event 25, 38, 3, 0, 0, Route114_EventScript_1507E8
- bg_event 20, 57, 3, 7, 0, ITEM_CARBOS, 4, 0
- bg_event 32, 57, 0, 8, 0, ITEM_GUARD_SPEC, 0, 0
- bg_event 7, 30, 3, 7, 0, ITEM_REVIVE, 42, 0
+ bg_hidden_item_event 20, 57, 3, ITEM_CARBOS, FLAG_HIDDEN_ITEM_4
+ bg_secret_base_event 32, 57, 0, SECRET_BASE_BROWN_CAVE4_3
+ bg_hidden_item_event 7, 30, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_2A
Route114_MapEvents:: @ 8382F18
map_events Route114_MapObjects, Route114_MapWarps, 0x0, Route114_MapBGEvents
diff --git a/data/maps/events/Route115.inc b/data/maps/events/Route115.inc
index 83c7e97b8..157dd82eb 100644
--- a/data/maps/events/Route115.inc
+++ b/data/maps/events/Route115.inc
@@ -20,20 +20,20 @@ Route115_MapWarps:: @ 83830AC
warp_def 27, 37, 0, 1, MAP_METEOR_FALLS_1F_1R
Route115_MapBGEvents:: @ 83830B4
- bg_event 32, 6, 0, 8, 0, 72, 0, 0
- bg_event 21, 18, 0, 8, 0, 62, 0, 0
+ bg_secret_base_event 32, 6, 0, SECRET_BASE_BROWN_CAVE4_2
+ bg_secret_base_event 21, 18, 0, SECRET_BASE_BROWN_CAVE3_2
bg_event 16, 64, 0, 0, 0, Route115_EventScript_150937
bg_event 25, 38, 3, 0, 0, Route115_EventScript_150940
- bg_event 8, 30, 0, 8, 0, ITEM_CHERI_BERRY, 0, 0
- bg_event 32, 39, 0, 8, 0, ITEM_BLACK_FLUTE, 0, 0
- bg_event 26, 15, 0, 8, 0, 52, 0, 0
- bg_event 23, 8, 0, 8, 0, ITEM_WHITE_FLUTE, 0, 0
- bg_event 32, 46, 0, 8, 0, 53, 0, 0
- bg_event 7, 20, 0, 8, 0, ITEM_STARF_BERRY, 0, 0
- bg_event 8, 20, 0, 8, 0, ITEM_QUICK_CLAW, 0, 0
- bg_event 25, 24, 0, 8, 0, ITEM_HP_UP, 0, 0
- bg_event 20, 53, 0, 8, 0, ITEM_HYPER_POTION, 0, 0
- bg_event 15, 49, 3, 7, 0, ITEM_HEART_SCALE, 97, 0
+ bg_secret_base_event 8, 30, 0, SECRET_BASE_YELLOW_CAVE2_3
+ bg_secret_base_event 32, 39, 0, SECRET_BASE_BROWN_CAVE1_2
+ bg_secret_base_event 26, 15, 0, SECRET_BASE_BROWN_CAVE2_2
+ bg_secret_base_event 23, 8, 0, SECRET_BASE_BROWN_CAVE1_3
+ bg_secret_base_event 32, 46, 0, SECRET_BASE_BROWN_CAVE2_3
+ bg_secret_base_event 7, 20, 0, SECRET_BASE_TREE2_4
+ bg_secret_base_event 8, 20, 0, SECRET_BASE_TREE3_3
+ bg_secret_base_event 25, 24, 0, SECRET_BASE_BROWN_CAVE3_3
+ bg_secret_base_event 20, 53, 0, SECRET_BASE_RED_CAVE3_1
+ bg_hidden_item_event 15, 49, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_61
Route115_MapEvents:: @ 838315C
map_events Route115_MapObjects, Route115_MapWarps, 0x0, Route115_MapBGEvents
diff --git a/data/maps/events/Route116.inc b/data/maps/events/Route116.inc
index 3b1858f33..ff5ad2643 100644
--- a/data/maps/events/Route116.inc
+++ b/data/maps/events/Route116.inc
@@ -34,14 +34,14 @@ Route116_MapBGEvents:: @ 83833A8
bg_event 5, 10, 0, 0, 0, Route116_EventScript_150B30
bg_event 48, 9, 0, 0, 0, Route116_EventScript_150B39
bg_event 40, 9, 0, 0, 0, Route116_EventScript_150B42
- bg_event 71, 4, 0, 8, 0, ITEM_FLUFFY_TAIL, 0, 0
- bg_event 79, 11, 0, 8, 0, 91, 0, 0
+ bg_secret_base_event 71, 4, 0, SECRET_BASE_BLUE_CAVE1_1
+ bg_secret_base_event 79, 11, 0, SECRET_BASE_BLUE_CAVE2_1
bg_event 16, 12, 0, 0, 0, Route116_EventScript_150B4B
bg_event 29, 10, 0, 0, 0, Route116_EventScript_150B54
- bg_event 56, 6, 0, 8, 0, 102, 0, 0
- bg_event 55, 15, 0, 8, 0, 112, 0, 0
- bg_event 22, 9, 3, 7, 0, ITEM_SUPER_POTION, 45, 0
- bg_event 70, 13, 3, 7, 0, ITEM_BLACK_GLASSES, 96, 0
+ bg_secret_base_event 56, 6, 0, SECRET_BASE_BLUE_CAVE3_2
+ bg_secret_base_event 55, 15, 0, SECRET_BASE_BLUE_CAVE4_2
+ bg_hidden_item_event 22, 9, 3, ITEM_SUPER_POTION, FLAG_HIDDEN_ITEM_2D
+ bg_hidden_item_event 70, 13, 3, ITEM_BLACK_GLASSES, FLAG_HIDDEN_ITEM_BLACK_GLASSES
Route116_MapEvents:: @ 838342C
map_events Route116_MapObjects, Route116_MapWarps, Route116_MapCoordEvents, Route116_MapBGEvents
diff --git a/data/maps/events/Route117.inc b/data/maps/events/Route117.inc
index 90f3e1f8f..ff5c81ead 100644
--- a/data/maps/events/Route117.inc
+++ b/data/maps/events/Route117.inc
@@ -28,7 +28,7 @@ Route117_MapBGEvents:: @ 8383640
bg_event 16, 6, 0, 0, 0, Route117_EventScript_150D72
bg_event 49, 12, 0, 0, 0, Route117_EventScript_150D7B
bg_event 49, 5, 0, 0, 0, Route117_EventScript_150D84
- bg_event 3, 18, 3, 7, 0, ITEM_REPEL, 72, 0
+ bg_hidden_item_event 3, 18, 3, ITEM_REPEL, FLAG_HIDDEN_ITEM_48
Route117_MapEvents:: @ 8383670
map_events Route117_MapObjects, Route117_MapWarps, 0x0, Route117_MapBGEvents
diff --git a/data/maps/events/Route118.inc b/data/maps/events/Route118.inc
index 154b96b75..4d4e3ea9a 100644
--- a/data/maps/events/Route118.inc
+++ b/data/maps/events/Route118.inc
@@ -26,15 +26,15 @@ Route118_MapCoordEvents:: @ 8383864
coord_event 45, 11, 3, 0, VAR_ROUTE118_STATE, 0, 0, Route118_EventScript_150FE4
Route118_MapBGEvents:: @ 8383894
- bg_event 47, 14, 0, 8, 0, ITEM_MASTER_BALL, 0, 0
+ bg_secret_base_event 47, 14, 0, SECRET_BASE_RED_CAVE1_1
bg_event 13, 6, 0, 0, 0, Route118_EventScript_150F9C
bg_event 56, 8, 0, 0, 0, Route118_EventScript_150FA5
- bg_event 67, 6, 0, 8, 0, ITEM_LUXURY_BALL, 0, 0
- bg_event 29, 5, 0, 8, 0, ITEM_HARBOR_MAIL, 0, 0
- bg_event 47, 5, 0, 8, 0, ITEM_SPELON_BERRY, 0, 0
- bg_event 46, 5, 0, 8, 0, ITEM_PETAYA_BERRY, 0, 0
- bg_event 31, 13, 3, 7, 0, ITEM_IRON, 67, 0
- bg_event 12, 14, 3, 7, 0, ITEM_HEART_SCALE, 66, 0
+ bg_secret_base_event 67, 6, 0, SECRET_BASE_RED_CAVE2_1
+ bg_secret_base_event 29, 5, 0, SECRET_BASE_YELLOW_CAVE1_2
+ bg_secret_base_event 47, 5, 0, SECRET_BASE_TREE1_3
+ bg_secret_base_event 46, 5, 0, SECRET_BASE_TREE2_1
+ bg_hidden_item_event 31, 13, 3, ITEM_IRON, FLAG_HIDDEN_ITEM_43
+ bg_hidden_item_event 12, 14, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_42
Route118_MapEvents:: @ 8383900
map_events Route118_MapObjects, 0x0, Route118_MapCoordEvents, Route118_MapBGEvents
diff --git a/data/maps/events/Route119.inc b/data/maps/events/Route119.inc
index ae3cdce20..2abacdf27 100644
--- a/data/maps/events/Route119.inc
+++ b/data/maps/events/Route119.inc
@@ -44,50 +44,50 @@ Route119_MapWarps:: @ 8383C8C
Route119_MapCoordEvents:: @ 8383C9C
coord_event 25, 31, 0, 0, VAR_ROUTE119_STATE, 0, 0, Route119_EventScript_1511C5
coord_event 26, 31, 0, 0, VAR_ROUTE119_STATE, 0, 0, Route119_EventScript_1511D0
- coord_event 28, 13, 0, 0, 20, 0, 0, 0x0
- coord_event 29, 13, 3, 0, 20, 0, 0, 0x0
- coord_event 30, 13, 3, 0, 20, 0, 0, 0x0
- coord_event 31, 13, 3, 0, 20, 0, 0, 0x0
- coord_event 32, 13, 3, 0, 20, 0, 0, 0x0
- coord_event 33, 13, 3, 0, 20, 0, 0, 0x0
- coord_event 15, 133, 3, 0, 20, 0, 0, 0x0
- coord_event 16, 132, 3, 0, 20, 0, 0, 0x0
- coord_event 17, 131, 3, 0, 20, 0, 0, 0x0
- coord_event 18, 130, 3, 0, 20, 0, 0, 0x0
- coord_event 19, 131, 3, 0, 20, 0, 0, 0x0
- coord_event 20, 132, 3, 0, 20, 0, 0, 0x0
- coord_event 21, 133, 3, 0, 20, 0, 0, 0x0
- coord_event 36, 6, 3, 0, 2, 0, 0, 0x0
- coord_event 36, 7, 3, 0, 2, 0, 0, 0x0
- coord_event 35, 8, 3, 0, 2, 0, 0, 0x0
- coord_event 35, 9, 3, 0, 2, 0, 0, 0x0
- coord_event 34, 10, 3, 0, 2, 0, 0, 0x0
- coord_event 16, 137, 3, 0, 2, 0, 0, 0x0
- coord_event 17, 137, 3, 0, 2, 0, 0, 0x0
- coord_event 18, 137, 3, 0, 2, 0, 0, 0x0
- coord_event 19, 137, 3, 0, 2, 0, 0, 0x0
- coord_event 20, 137, 3, 0, 2, 0, 0, 0x0
+ coord_weather_event 28, 13, 0, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 29, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 30, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 31, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 32, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 33, 13, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 15, 133, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 16, 132, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 17, 131, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 18, 130, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 19, 131, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 20, 132, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 21, 133, 3, COORD_EVENT_WEATHER_ROUTE119_CYCLE
+ coord_weather_event 36, 6, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 36, 7, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 35, 8, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 35, 9, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 34, 10, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 16, 137, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 17, 137, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 18, 137, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 19, 137, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 20, 137, 3, COORD_EVENT_WEATHER_SUNNY
Route119_MapBGEvents:: @ 8383E2C
bg_event 9, 33, 0, 0, 0, Route119_EventScript_15142C
bg_event 27, 19, 0, 0, 0, Route119_EventScript_151423
- bg_event 5, 2, 0, 8, 0, ITEM_DRAGON_SCALE, 0, 0
- bg_event 4, 89, 0, 8, 0, ITEM_LIGHT_BALL, 0, 0
- bg_event 5, 15, 0, 8, 0, ITEM_POISON_BARB, 0, 0
- bg_event 7, 101, 3, 8, 0, ITEM_NEVER_MELT_ICE, 0, 0
- bg_event 34, 24, 3, 8, 0, ITEM_LAX_INCENSE, 0, 0
- bg_event 31, 73, 3, 8, 0, 231, 0, 0
- bg_event 16, 81, 0, 8, 0, ITEM_TINY_MUSHROOM, 0, 0
- bg_event 16, 28, 0, 8, 0, 113, 0, 0
- bg_event 17, 82, 3, 7, 0, ITEM_CALCIUM, 5, 0
- bg_event 38, 63, 3, 7, 0, ITEM_ULTRA_BALL, 6, 0
- bg_event 26, 81, 0, 8, 0, ITEM_FULL_HEAL, 0, 0
- bg_event 19, 76, 0, 8, 0, ITEM_LANSAT_BERRY, 0, 0
- bg_event 18, 76, 0, 8, 0, ITEM_DEEP_SEA_SCALE, 0, 0
- bg_event 4, 15, 0, 8, 0, ITEM_METAL_POWDER, 0, 0
- bg_event 6, 2, 0, 8, 0, 233, 0, 0
- bg_event 26, 120, 3, 7, 0, ITEM_FULL_HEAL, 68, 0
- bg_event 20, 29, 3, 7, 0, ITEM_MAX_ETHER, 87, 0
+ bg_secret_base_event 5, 2, 0, SECRET_BASE_SHRUB1_1
+ bg_secret_base_event 4, 89, 0, SECRET_BASE_SHRUB1_2
+ bg_secret_base_event 5, 15, 0, SECRET_BASE_SHRUB2_1
+ bg_secret_base_event 7, 101, 3, SECRET_BASE_SHRUB2_2
+ bg_secret_base_event 34, 24, 3, SECRET_BASE_SHRUB3_1
+ bg_secret_base_event 31, 73, 3, SECRET_BASE_SHRUB4_1
+ bg_secret_base_event 16, 81, 0, SECRET_BASE_BLUE_CAVE3_3
+ bg_secret_base_event 16, 28, 0, SECRET_BASE_BLUE_CAVE4_3
+ bg_hidden_item_event 17, 82, 3, ITEM_CALCIUM, FLAG_HIDDEN_ITEM_5
+ bg_hidden_item_event 38, 63, 3, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_6
+ bg_secret_base_event 26, 81, 0, SECRET_BASE_RED_CAVE3_3
+ bg_secret_base_event 19, 76, 0, SECRET_BASE_TREE2_3
+ bg_secret_base_event 18, 76, 0, SECRET_BASE_TREE4_3
+ bg_secret_base_event 4, 15, 0, SECRET_BASE_SHRUB3_3
+ bg_secret_base_event 6, 2, 0, SECRET_BASE_SHRUB4_3
+ bg_hidden_item_event 26, 120, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_44
+ bg_hidden_item_event 20, 29, 3, ITEM_MAX_ETHER, FLAG_HIDDEN_ITEM_57
bg_event 28, 9, 0, 0, 0, Route119_EventScript_151605
Route119_MapEvents:: @ 8383F1C
diff --git a/data/maps/events/Route120.inc b/data/maps/events/Route120.inc
index 4ddfe4978..ac0e527c7 100644
--- a/data/maps/events/Route120.inc
+++ b/data/maps/events/Route120.inc
@@ -46,41 +46,41 @@ Route120_MapWarps:: @ 8384308
warp_def 19, 23, 1, 0, MAP_SCORCHED_SLAB
Route120_MapCoordEvents:: @ 8384318
- coord_event 7, 15, 0, 0, 3, 0, 0, 0x0
- coord_event 7, 16, 0, 0, 3, 0, 0, 0x0
- coord_event 22, 61, 3, 0, 3, 0, 0, 0x0
- coord_event 12, 64, 3, 0, 3, 0, 0, 0x0
- coord_event 35, 63, 3, 0, 1, 0, 0, 0x0
- coord_event 36, 63, 3, 0, 1, 0, 0, 0x0
- coord_event 37, 63, 3, 0, 1, 0, 0, 0x0
- coord_event 38, 63, 3, 0, 1, 0, 0, 0x0
- coord_event 32, 88, 5, 0, 1, 0, 0, 0x0
- coord_event 28, 15, 0, 0, 2, 0, 0, 0x0
- coord_event 28, 16, 0, 0, 2, 0, 0, 0x0
- coord_event 28, 17, 3, 0, 2, 0, 0, 0x0
- coord_event 32, 89, 5, 0, 1, 0, 0, 0x0
- coord_event 32, 90, 5, 0, 1, 0, 0, 0x0
- coord_event 32, 91, 5, 0, 1, 0, 0, 0x0
- coord_event 10, 75, 3, 0, 1, 0, 0, 0x0
- coord_event 11, 75, 3, 0, 1, 0, 0, 0x0
- coord_event 12, 75, 3, 0, 1, 0, 0, 0x0
- coord_event 13, 75, 3, 0, 1, 0, 0, 0x0
+ coord_weather_event 7, 15, 0, COORD_EVENT_WEATHER_RAIN_LIGHT
+ coord_weather_event 7, 16, 0, COORD_EVENT_WEATHER_RAIN_LIGHT
+ coord_weather_event 22, 61, 3, COORD_EVENT_WEATHER_RAIN_LIGHT
+ coord_weather_event 12, 64, 3, COORD_EVENT_WEATHER_RAIN_LIGHT
+ coord_weather_event 35, 63, 3, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 36, 63, 3, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 37, 63, 3, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 38, 63, 3, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 32, 88, 5, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 28, 15, 0, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 28, 16, 0, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 28, 17, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 32, 89, 5, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 32, 90, 5, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 32, 91, 5, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 10, 75, 3, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 11, 75, 3, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 12, 75, 3, COORD_EVENT_WEATHER_CLOUDS
+ coord_weather_event 13, 75, 3, COORD_EVENT_WEATHER_CLOUDS
Route120_MapBGEvents:: @ 8384448
bg_event 27, 3, 3, 0, 0, Route120_EventScript_1519A1
bg_event 38, 88, 3, 0, 0, Route120_EventScript_1519AA
- bg_event 28, 62, 0, 8, 0, 101, 0, 0
- bg_event 30, 62, 0, 8, 0, ITEM_HEART_SCALE, 0, 0
- bg_event 26, 10, 0, 8, 0, ITEM_LUCKY_PUNCH, 0, 0
- bg_event 29, 85, 5, 8, 0, 232, 0, 0
- bg_event 18, 12, 0, 8, 0, ITEM_SUN_STONE, 0, 0
- bg_event 38, 54, 0, 8, 0, ITEM_SOFT_SAND, 0, 0
- bg_event 31, 23, 0, 8, 0, ITEM_SPELL_TAG, 0, 0
- bg_event 9, 1, 3, 7, 0, ITEM_RARE_CANDY, 71, 0
- bg_event 31, 11, 3, 7, 0, ITEM_REVIVE, 84, 0
- bg_event 0, 86, 3, 7, 0, ITEM_RARE_CANDY, 69, 0
- bg_event 24, 42, 3, 7, 0, ITEM_ZINC, 70, 0
- bg_event 5, 76, 0, 8, 0, ITEM_HARD_STONE, 0, 0
+ bg_secret_base_event 28, 62, 0, SECRET_BASE_BLUE_CAVE3_1
+ bg_secret_base_event 30, 62, 0, SECRET_BASE_BLUE_CAVE4_1
+ bg_secret_base_event 26, 10, 0, SECRET_BASE_SHRUB3_2
+ bg_secret_base_event 29, 85, 5, SECRET_BASE_SHRUB4_2
+ bg_secret_base_event 18, 12, 0, SECRET_BASE_BLUE_CAVE2_3
+ bg_secret_base_event 38, 54, 0, SECRET_BASE_SHRUB1_3
+ bg_secret_base_event 31, 23, 0, SECRET_BASE_SHRUB2_3
+ bg_hidden_item_event 9, 1, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_47
+ bg_hidden_item_event 31, 11, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_54
+ bg_hidden_item_event 0, 86, 3, ITEM_RARE_CANDY, FLAG_HIDDEN_ITEM_45
+ bg_hidden_item_event 24, 42, 3, ITEM_ZINC, FLAG_HIDDEN_ITEM_46
+ bg_secret_base_event 5, 76, 0, SECRET_BASE_SHRUB1_4
Route120_MapEvents:: @ 83844F0
map_events Route120_MapObjects, Route120_MapWarps, Route120_MapCoordEvents, Route120_MapBGEvents
diff --git a/data/maps/events/Route121.inc b/data/maps/events/Route121.inc
index 0aae42562..e799115e5 100644
--- a/data/maps/events/Route121.inc
+++ b/data/maps/events/Route121.inc
@@ -33,14 +33,14 @@ Route121_MapCoordEvents:: @ 838471C
Route121_MapBGEvents:: @ 838475C
bg_event 32, 14, 0, 0, 0, Route121_EventScript_151B13
- bg_event 40, 11, 0, 8, 0, ITEM_PREMIER_BALL, 0, 0
- bg_event 18, 13, 0, 8, 0, ITEM_SUPER_POTION, 0, 0
- bg_event 43, 7, 0, 8, 0, ITEM_NOMEL_BERRY, 0, 0
- bg_event 42, 7, 0, 8, 0, ITEM_APICOT_BERRY, 0, 0
+ bg_secret_base_event 40, 11, 0, SECRET_BASE_RED_CAVE2_2
+ bg_secret_base_event 18, 13, 0, SECRET_BASE_RED_CAVE3_2
+ bg_secret_base_event 43, 7, 0, SECRET_BASE_TREE1_2
+ bg_secret_base_event 42, 7, 0, SECRET_BASE_TREE2_2
bg_event 39, 6, 0, 0, 0, Route121_EventScript_151B1C
- bg_event 23, 10, 3, 7, 0, ITEM_HP_UP, 39, 0
- bg_event 58, 3, 3, 7, 0, ITEM_NUGGET, 40, 0
- bg_event 72, 5, 3, 7, 0, ITEM_FULL_HEAL, 73, 0
+ bg_hidden_item_event 23, 10, 3, ITEM_HP_UP, FLAG_HIDDEN_ITEM_27
+ bg_hidden_item_event 58, 3, 3, ITEM_NUGGET, FLAG_HIDDEN_ITEM_28
+ bg_hidden_item_event 72, 5, 3, ITEM_FULL_HEAL, FLAG_HIDDEN_ITEM_49
Route121_MapEvents:: @ 83847C8
map_events Route121_MapObjects, Route121_MapWarps, Route121_MapCoordEvents, Route121_MapBGEvents
diff --git a/data/maps/events/Route123.inc b/data/maps/events/Route123.inc
index ff4f066b8..3c50254cb 100644
--- a/data/maps/events/Route123.inc
+++ b/data/maps/events/Route123.inc
@@ -38,39 +38,39 @@ Route123_MapWarps:: @ 8384B28
warp_def 22, 6, 0, 0, MAP_ROUTE123_BERRY_MASTERS_HOUSE
Route123_MapCoordEvents:: @ 8384B30
- coord_event 90, 16, 3, 0, 21, 0, 0, 0x0
- coord_event 92, 9, 3, 0, 21, 0, 0, 0x0
- coord_event 93, 12, 3, 0, 21, 0, 0, 0x0
- coord_event 92, 13, 3, 0, 21, 0, 0, 0x0
- coord_event 91, 14, 3, 0, 21, 0, 0, 0x0
- coord_event 19, 13, 3, 0, 21, 0, 0, 0x0
- coord_event 19, 12, 3, 0, 21, 0, 0, 0x0
- coord_event 34, 13, 3, 0, 21, 0, 0, 0x0
- coord_event 19, 14, 3, 0, 21, 0, 0, 0x0
- coord_event 19, 15, 3, 0, 21, 0, 0, 0x0
- coord_event 19, 16, 3, 0, 21, 0, 0, 0x0
- coord_event 108, 14, 3, 0, 2, 0, 0, 0x0
- coord_event 109, 15, 3, 0, 2, 0, 0, 0x0
- coord_event 110, 16, 3, 0, 2, 0, 0, 0x0
- coord_event 111, 17, 3, 0, 2, 0, 0, 0x0
- coord_event 112, 18, 3, 0, 2, 0, 0, 0x0
- coord_event 9, 12, 3, 0, 2, 0, 0, 0x0
- coord_event 9, 13, 3, 0, 2, 0, 0, 0x0
- coord_event 9, 14, 3, 0, 2, 0, 0, 0x0
- coord_event 9, 15, 3, 0, 2, 0, 0, 0x0
- coord_event 9, 16, 3, 0, 2, 0, 0, 0x0
- coord_event 94, 10, 3, 0, 21, 0, 0, 0x0
+ coord_weather_event 90, 16, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 92, 9, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 93, 12, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 92, 13, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 91, 14, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 19, 13, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 19, 12, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 34, 13, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 19, 14, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 19, 15, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 19, 16, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
+ coord_weather_event 108, 14, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 109, 15, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 110, 16, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 111, 17, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 112, 18, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 9, 12, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 9, 13, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 9, 14, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 9, 15, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 9, 16, 3, COORD_EVENT_WEATHER_SUNNY
+ coord_weather_event 94, 10, 3, COORD_EVENT_WEATHER_ROUTE123_CYCLE
Route123_MapBGEvents:: @ 8384C90
bg_event 117, 10, 0, 0, 0, Route123_EventScript_151CBF
- bg_event 47, 3, 0, 8, 0, 82, 0, 0
- bg_event 49, 3, 0, 8, 0, 92, 0, 0
+ bg_secret_base_event 47, 3, 0, SECRET_BASE_BLUE_CAVE1_2
+ bg_secret_base_event 49, 3, 0, SECRET_BASE_BLUE_CAVE2_2
bg_event 10, 12, 3, 0, 0, Route123_EventScript_151CB6
- bg_event 75, 1, 3, 7, 0, ITEM_SUPER_REPEL, 7, 0
+ bg_hidden_item_event 75, 1, 3, ITEM_SUPER_REPEL, FLAG_HIDDEN_ITEM_7
bg_event 20, 7, 3, 0, 0, Route123_EventScript_151CC8
- bg_event 57, 5, 0, 8, 0, ITEM_SUPER_REPEL, 0, 0
- bg_event 12, 1, 3, 7, 0, ITEM_REVIVE, 41, 0
- bg_event 91, 15, 3, 7, 0, ITEM_HYPER_POTION, 74, 0
+ bg_secret_base_event 57, 5, 0, SECRET_BASE_BLUE_CAVE1_3
+ bg_hidden_item_event 12, 1, 3, ITEM_REVIVE, FLAG_HIDDEN_ITEM_29
+ bg_hidden_item_event 91, 15, 3, ITEM_HYPER_POTION, FLAG_HIDDEN_ITEM_4A
Route123_MapEvents:: @ 8384CFC
map_events Route123_MapObjects, Route123_MapWarps, Route123_MapCoordEvents, Route123_MapBGEvents
diff --git a/data/maps/events/Route125.inc b/data/maps/events/Route125.inc
index 585296ac3..82767393d 100644
--- a/data/maps/events/Route125.inc
+++ b/data/maps/events/Route125.inc
@@ -11,10 +11,10 @@ Route125_MapWarps:: @ 8384ED0
warp_def 22, 19, 0, 0, MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM
Route125_MapBGEvents:: @ 8384ED8
- bg_event 53, 10, 0, 8, 0, ITEM_ULTRA_BALL, 0, 0
- bg_event 55, 11, 0, 8, 0, ITEM_HEAL_POWDER, 0, 0
- bg_event 7, 25, 0, 8, 0, ITEM_RETRO_MAIL, 0, 0
- bg_event 24, 32, 0, 8, 0, ITEM_PINAP_BERRY, 0, 0
+ bg_secret_base_event 53, 10, 0, SECRET_BASE_RED_CAVE1_2
+ bg_secret_base_event 55, 11, 0, SECRET_BASE_RED_CAVE4_2
+ bg_secret_base_event 7, 25, 0, SECRET_BASE_YELLOW_CAVE2_2
+ bg_secret_base_event 24, 32, 0, SECRET_BASE_YELLOW_CAVE4_2
Route125_MapEvents:: @ 8384F08
map_events Route125_MapObjects, Route125_MapWarps, 0x0, Route125_MapBGEvents
diff --git a/data/maps/events/Route127.inc b/data/maps/events/Route127.inc
index d71b15c74..6b3d396c9 100644
--- a/data/maps/events/Route127.inc
+++ b/data/maps/events/Route127.inc
@@ -10,11 +10,11 @@ Route127_MapObjects:: @ 8384FA8
object_event 9, MAP_OBJ_GFX_BLACK_BELT, 0, 63, 0, 63, 0, 3, 1, 17, 0, 1, 0, 3, 0, Route127_EventScript_1520ED, 0, 0, 0
Route127_MapBGEvents:: @ 8385080
- bg_event 59, 67, 0, 8, 0, ITEM_ENERGY_ROOT, 0, 0
- bg_event 59, 72, 0, 8, 0, ITEM_SITRUS_BERRY, 0, 0
- bg_event 67, 63, 0, 8, 0, ITEM_WEPEAR_BERRY, 0, 0
- bg_event 61, 21, 0, 8, 0, ITEM_FIGY_BERRY, 0, 0
- bg_event 45, 24, 0, 8, 0, ITEM_GLITTER_MAIL, 0, 0
+ bg_secret_base_event 59, 67, 0, SECRET_BASE_RED_CAVE4_1
+ bg_secret_base_event 59, 72, 0, SECRET_BASE_YELLOW_CAVE3_2
+ bg_secret_base_event 67, 63, 0, SECRET_BASE_YELLOW_CAVE4_1
+ bg_secret_base_event 61, 21, 0, SECRET_BASE_YELLOW_CAVE3_3
+ bg_secret_base_event 45, 24, 0, SECRET_BASE_YELLOW_CAVE1_3
Route127_MapEvents:: @ 83850BC
map_events Route127_MapObjects, 0x0, 0x0, Route127_MapBGEvents
diff --git a/data/maps/events/Route128.inc b/data/maps/events/Route128.inc
index 555101a97..2bef2e3ed 100644
--- a/data/maps/events/Route128.inc
+++ b/data/maps/events/Route128.inc
@@ -9,9 +9,9 @@ Route128_MapObjects:: @ 83850D0
object_event 8, MAP_OBJ_GFX_WOMAN_7, 0, 47, 0, 9, 0, 3, 10, 17, 0, 1, 0, 3, 0, Route128_EventScript_152320, 0, 0, 0
Route128_MapBGEvents:: @ 8385190
- bg_event 49, 9, 3, 7, 0, ITEM_HEART_SCALE, 92, 0
- bg_event 57, 21, 3, 7, 0, ITEM_HEART_SCALE, 93, 0
- bg_event 31, 33, 3, 7, 0, ITEM_HEART_SCALE, 94, 0
+ bg_hidden_item_event 49, 9, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5C
+ bg_hidden_item_event 57, 21, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5D
+ bg_hidden_item_event 31, 33, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_5E
Route128_MapEvents:: @ 83851B4
map_events Route128_MapObjects, 0x0, 0x0, Route128_MapBGEvents
diff --git a/data/maps/events/SSTidalLowerDeck.inc b/data/maps/events/SSTidalLowerDeck.inc
index 74c8458ce..59d783f61 100644
--- a/data/maps/events/SSTidalLowerDeck.inc
+++ b/data/maps/events/SSTidalLowerDeck.inc
@@ -6,7 +6,7 @@ SSTidalLowerDeck_MapWarps:: @ 8391874
warp_def 15, 2, 3, 8, MAP_SS_TIDAL_CORRIDOR
SSTidalLowerDeck_MapBGEvents:: @ 839187C
- bg_event 0, 2, 0, 7, 0, ITEM_LEFTOVERS, 35, 0
+ bg_hidden_item_event 0, 2, 0, ITEM_LEFTOVERS, FLAG_HIDDEN_ITEM_23
SSTidalLowerDeck_MapEvents:: @ 8391888
map_events SSTidalLowerDeck_MapObjects, SSTidalLowerDeck_MapWarps, 0x0, SSTidalLowerDeck_MapBGEvents
diff --git a/data/maps/events/Underwater1.inc b/data/maps/events/Underwater1.inc
index e67181a50..12b3cf72b 100644
--- a/data/maps/events/Underwater1.inc
+++ b/data/maps/events/Underwater1.inc
@@ -1,11 +1,11 @@
Underwater1_MapBGEvents:: @ 8385518
- bg_event 42, 51, 0, 7, 0, ITEM_CARBOS, 8, 0
- bg_event 14, 40, 0, 7, 0, ITEM_GREEN_SHARD, 9, 0
- bg_event 66, 34, 3, 7, 0, ITEM_PEARL, 10, 0
- bg_event 64, 54, 3, 7, 0, ITEM_BIG_PEARL, 11, 0
- bg_event 70, 64, 3, 7, 0, ITEM_HEART_SCALE, 13, 0
- bg_event 42, 5, 3, 7, 0, ITEM_CALCIUM, 36, 0
- bg_event 45, 36, 3, 7, 0, ITEM_HEART_SCALE, 38, 0
+ bg_hidden_item_event 42, 51, 0, ITEM_CARBOS, FLAG_HIDDEN_ITEM_8
+ bg_hidden_item_event 14, 40, 0, ITEM_GREEN_SHARD, FLAG_HIDDEN_ITEM_9
+ bg_hidden_item_event 66, 34, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_A
+ bg_hidden_item_event 64, 54, 3, ITEM_BIG_PEARL, FLAG_HIDDEN_ITEM_B
+ bg_hidden_item_event 70, 64, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_D
+ bg_hidden_item_event 42, 5, 3, ITEM_CALCIUM, FLAG_HIDDEN_ITEM_24
+ bg_hidden_item_event 45, 36, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_26
Underwater1_MapEvents:: @ 838556C
map_events 0x0, 0x0, 0x0, Underwater1_MapBGEvents
diff --git a/data/maps/events/Underwater2.inc b/data/maps/events/Underwater2.inc
index 89b36919b..a628cf972 100644
--- a/data/maps/events/Underwater2.inc
+++ b/data/maps/events/Underwater2.inc
@@ -2,14 +2,14 @@ Underwater2_MapWarps:: @ 8385580
warp_def 45, 65, 0, 0, MAP_UNDERWATER_SOOTOPOLIS_CITY
Underwater2_MapBGEvents:: @ 8385588
- bg_event 30, 17, 3, 7, 0, ITEM_HEART_SCALE, 14, 0
- bg_event 41, 19, 3, 7, 0, ITEM_ULTRA_BALL, 15, 0
- bg_event 63, 19, 3, 7, 0, ITEM_STARDUST, 16, 0
- bg_event 10, 36, 3, 7, 0, ITEM_PEARL, 17, 0
- bg_event 11, 39, 3, 7, 0, ITEM_IRON, 19, 0
- bg_event 12, 35, 3, 7, 0, ITEM_YELLOW_SHARD, 18, 0
- bg_event 65, 60, 3, 7, 0, ITEM_BIG_PEARL, 20, 0
- bg_event 9, 77, 3, 7, 0, ITEM_BLUE_SHARD, 12, 0
+ bg_hidden_item_event 30, 17, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_E
+ bg_hidden_item_event 41, 19, 3, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_F
+ bg_hidden_item_event 63, 19, 3, ITEM_STARDUST, FLAG_HIDDEN_ITEM_10
+ bg_hidden_item_event 10, 36, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_11
+ bg_hidden_item_event 11, 39, 3, ITEM_IRON, FLAG_HIDDEN_ITEM_13
+ bg_hidden_item_event 12, 35, 3, ITEM_YELLOW_SHARD, FLAG_HIDDEN_ITEM_12
+ bg_hidden_item_event 65, 60, 3, ITEM_BIG_PEARL, FLAG_HIDDEN_ITEM_14
+ bg_hidden_item_event 9, 77, 3, ITEM_BLUE_SHARD, FLAG_HIDDEN_ITEM_C
Underwater2_MapEvents:: @ 83855E8
map_events 0x0, Underwater2_MapWarps, 0x0, Underwater2_MapBGEvents
diff --git a/data/maps/events/Underwater3.inc b/data/maps/events/Underwater3.inc
index 1e0925650..62518bafa 100644
--- a/data/maps/events/Underwater3.inc
+++ b/data/maps/events/Underwater3.inc
@@ -1,8 +1,8 @@
Underwater3_MapBGEvents:: @ 83855FC
- bg_event 12, 42, 3, 7, 0, ITEM_STAR_PIECE, 21, 0
- bg_event 50, 36, 3, 7, 0, ITEM_HP_UP, 22, 0
- bg_event 34, 72, 3, 7, 0, ITEM_HEART_SCALE, 23, 0
- bg_event 72, 20, 3, 7, 0, ITEM_RED_SHARD, 24, 0
+ bg_hidden_item_event 12, 42, 3, ITEM_STAR_PIECE, FLAG_HIDDEN_ITEM_15
+ bg_hidden_item_event 50, 36, 3, ITEM_HP_UP, FLAG_HIDDEN_ITEM_16
+ bg_hidden_item_event 34, 72, 3, ITEM_HEART_SCALE, FLAG_HIDDEN_ITEM_17
+ bg_hidden_item_event 72, 20, 3, ITEM_RED_SHARD, FLAG_HIDDEN_ITEM_18
Underwater3_MapEvents:: @ 838562C
map_events 0x0, 0x0, 0x0, Underwater3_MapBGEvents
diff --git a/data/maps/events/Underwater4.inc b/data/maps/events/Underwater4.inc
index 1d3938031..fad99382b 100644
--- a/data/maps/events/Underwater4.inc
+++ b/data/maps/events/Underwater4.inc
@@ -2,8 +2,8 @@ Underwater4_MapWarps:: @ 8385640
warp_def 38, 26, 3, 0, MAP_UNDERWATER_SEAFLOOR_CAVERN
Underwater4_MapBGEvents:: @ 8385648
- bg_event 38, 19, 3, 7, 0, ITEM_PROTEIN, 25, 0
- bg_event 69, 18, 3, 7, 0, ITEM_PEARL, 26, 0
+ bg_hidden_item_event 38, 19, 3, ITEM_PROTEIN, FLAG_HIDDEN_ITEM_19
+ bg_hidden_item_event 69, 18, 3, ITEM_PEARL, FLAG_HIDDEN_ITEM_1A
Underwater4_MapEvents:: @ 8385660
map_events 0x0, Underwater4_MapWarps, 0x0, Underwater4_MapBGEvents
diff --git a/data/maps/events/VictoryRoad_1F.inc b/data/maps/events/VictoryRoad_1F.inc
index c88f9363c..31e1cebb6 100644
--- a/data/maps/events/VictoryRoad_1F.inc
+++ b/data/maps/events/VictoryRoad_1F.inc
@@ -20,7 +20,7 @@ VictoryRoad_1F_MapCoordEvents:: @ 838D9B4
coord_event 34, 5, 3, 0, VAR_VICTORY_ROAD_1F_STATE, 0, 0, VictoryRoad_1F_EventScript_15DEBF
VictoryRoad_1F_MapBGEvents:: @ 838D9E4
- bg_event 30, 39, 4, 7, 0, ITEM_ULTRA_BALL, 81, 0
+ bg_hidden_item_event 30, 39, 4, ITEM_ULTRA_BALL, FLAG_HIDDEN_ITEM_51
VictoryRoad_1F_MapEvents:: @ 838D9F0
map_events VictoryRoad_1F_MapObjects, VictoryRoad_1F_MapWarps, VictoryRoad_1F_MapCoordEvents, VictoryRoad_1F_MapBGEvents
diff --git a/data/maps/events/VictoryRoad_B2F.inc b/data/maps/events/VictoryRoad_B2F.inc
index e9d549f04..ffa8252d5 100644
--- a/data/maps/events/VictoryRoad_B2F.inc
+++ b/data/maps/events/VictoryRoad_B2F.inc
@@ -12,8 +12,8 @@ VictoryRoad_B2F_MapWarps:: @ 838DC90
warp_def 5, 26, 3, 6, MAP_VICTORY_ROAD_B1F
VictoryRoad_B2F_MapBGEvents:: @ 838DCB0
- bg_event 28, 5, 3, 7, 0, ITEM_ELIXIR, 82, 0
- bg_event 37, 1, 3, 7, 0, ITEM_MAX_REPEL, 83, 0
+ bg_hidden_item_event 28, 5, 3, ITEM_ELIXIR, FLAG_HIDDEN_ITEM_52
+ bg_hidden_item_event 37, 1, 3, ITEM_MAX_REPEL, FLAG_HIDDEN_ITEM_53
VictoryRoad_B2F_MapEvents:: @ 838DCC8
map_events VictoryRoad_B2F_MapObjects, VictoryRoad_B2F_MapWarps, 0x0, VictoryRoad_B2F_MapBGEvents
diff --git a/data/scripts/maps/Route116.inc b/data/scripts/maps/Route116.inc
index b1b331d00..5fab808bc 100644
--- a/data/scripts/maps/Route116.inc
+++ b/data/scripts/maps/Route116.inc
@@ -150,7 +150,7 @@ Route116_EventScript_150B8F:: @ 8150B8F
checkitem ITEM_BLACK_GLASSES, 1
compare RESULT, 1
goto_if_eq Route116_EventScript_150BCA
- specialvar RESULT, sub_810F828
+ specialvar RESULT, FoundBlackGlasses
compare RESULT, 1
goto_if_eq Route116_EventScript_150BBB
msgbox Route116_Text_1708EE, 4
@@ -166,7 +166,7 @@ Route116_EventScript_150BBB:: @ 8150BBB
Route116_EventScript_150BCA:: @ 8150BCA
msgbox Route116_Text_1708EE, 4
msgbox Route116_Text_170921, 4
- specialvar RESULT, sub_810F828
+ specialvar RESULT, FoundBlackGlasses
compare RESULT, 1
goto_if_eq Route116_EventScript_150BF4
msgbox Route116_Text_170A03, 4
diff --git a/data/specials.inc b/data/specials.inc
index 2924f2173..f39af822b 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -323,7 +323,7 @@ gSpecials::
def_special ScrSpecial_StartRegiBattle
def_special sub_8082524
def_special DoSealedChamberShakingEffect2
- def_special sub_810F828
+ def_special FoundBlackGlasses
def_special sub_807E25C
def_special sp13E_warp_to_last_warp
def_special sp13F_fall_to_last_warp
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 40bac89a0..a8067f6ca 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -255,8 +255,109 @@
#define FLAG_RIVAL_LEFT_FOR_ROUTE103 0x12D
#define FLAG_OMIT_DIVE_FROM_STEVEN_LETTER 0x12E
-#define FLAG_UNKNOWN_2B8 0x2B8 // TODO: pokemon storage system?
-
+// hidden item flags
+#define FLAG_HIDDEN_ITEMS_START 0x258
+#define FLAG_HIDDEN_ITEM_0 0x258
+#define FLAG_HIDDEN_ITEM_1 0x259
+#define FLAG_HIDDEN_ITEM_2 0x25A
+#define FLAG_HIDDEN_ITEM_3 0x25B
+#define FLAG_HIDDEN_ITEM_4 0x25C
+#define FLAG_HIDDEN_ITEM_5 0x25D
+#define FLAG_HIDDEN_ITEM_6 0x25E
+#define FLAG_HIDDEN_ITEM_7 0x25F
+#define FLAG_HIDDEN_ITEM_8 0x260
+#define FLAG_HIDDEN_ITEM_9 0x261
+#define FLAG_HIDDEN_ITEM_A 0x262
+#define FLAG_HIDDEN_ITEM_B 0x263
+#define FLAG_HIDDEN_ITEM_C 0x264
+#define FLAG_HIDDEN_ITEM_D 0x265
+#define FLAG_HIDDEN_ITEM_E 0x266
+#define FLAG_HIDDEN_ITEM_F 0x267
+#define FLAG_HIDDEN_ITEM_10 0x268
+#define FLAG_HIDDEN_ITEM_11 0x269
+#define FLAG_HIDDEN_ITEM_12 0x26A
+#define FLAG_HIDDEN_ITEM_13 0x26B
+#define FLAG_HIDDEN_ITEM_14 0x26C
+#define FLAG_HIDDEN_ITEM_15 0x26D
+#define FLAG_HIDDEN_ITEM_16 0x26E
+#define FLAG_HIDDEN_ITEM_17 0x26F
+#define FLAG_HIDDEN_ITEM_18 0x270
+#define FLAG_HIDDEN_ITEM_19 0x271
+#define FLAG_HIDDEN_ITEM_1A 0x272
+#define FLAG_HIDDEN_ITEM_1B 0x273
+#define FLAG_HIDDEN_ITEM_1C 0x274
+#define FLAG_HIDDEN_ITEM_1D 0x275
+#define FLAG_HIDDEN_ITEM_1E 0x276
+#define FLAG_HIDDEN_ITEM_1F 0x277
+#define FLAG_HIDDEN_ITEM_20 0x278
+#define FLAG_HIDDEN_ITEM_21 0x279
+#define FLAG_HIDDEN_ITEM_22 0x27A
+#define FLAG_HIDDEN_ITEM_23 0x27B
+#define FLAG_HIDDEN_ITEM_24 0x27C
+#define FLAG_HIDDEN_ITEM_25 0x27D
+#define FLAG_HIDDEN_ITEM_26 0x27E
+#define FLAG_HIDDEN_ITEM_27 0x27F
+#define FLAG_HIDDEN_ITEM_28 0x280
+#define FLAG_HIDDEN_ITEM_29 0x281
+#define FLAG_HIDDEN_ITEM_2A 0x282
+#define FLAG_HIDDEN_ITEM_2B 0x283
+#define FLAG_HIDDEN_ITEM_2C 0x284
+#define FLAG_HIDDEN_ITEM_2D 0x285
+#define FLAG_HIDDEN_ITEM_2E 0x286
+#define FLAG_HIDDEN_ITEM_2F 0x287
+#define FLAG_HIDDEN_ITEM_30 0x288
+#define FLAG_HIDDEN_ITEM_31 0x289
+#define FLAG_HIDDEN_ITEM_32 0x28A
+#define FLAG_HIDDEN_ITEM_33 0x28B
+#define FLAG_HIDDEN_ITEM_34 0x28C
+#define FLAG_HIDDEN_ITEM_35 0x28D
+#define FLAG_HIDDEN_ITEM_36 0x28E
+#define FLAG_HIDDEN_ITEM_37 0x28F
+#define FLAG_HIDDEN_ITEM_38 0x290
+#define FLAG_HIDDEN_ITEM_39 0x291
+#define FLAG_HIDDEN_ITEM_3A 0x292
+#define FLAG_HIDDEN_ITEM_3B 0x293
+#define FLAG_HIDDEN_ITEM_3C 0x294
+#define FLAG_HIDDEN_ITEM_3D 0x295
+#define FLAG_HIDDEN_ITEM_3E 0x296
+#define FLAG_HIDDEN_ITEM_3F 0x297
+#define FLAG_HIDDEN_ITEM_40 0x298
+#define FLAG_HIDDEN_ITEM_41 0x299
+#define FLAG_HIDDEN_ITEM_42 0x29A
+#define FLAG_HIDDEN_ITEM_43 0x29B
+#define FLAG_HIDDEN_ITEM_44 0x29C
+#define FLAG_HIDDEN_ITEM_45 0x29D
+#define FLAG_HIDDEN_ITEM_46 0x29E
+#define FLAG_HIDDEN_ITEM_47 0x29F
+#define FLAG_HIDDEN_ITEM_48 0x2A0
+#define FLAG_HIDDEN_ITEM_49 0x2A1
+#define FLAG_HIDDEN_ITEM_4A 0x2A2
+#define FLAG_HIDDEN_ITEM_4B 0x2A3
+#define FLAG_HIDDEN_ITEM_4C 0x2A4
+#define FLAG_HIDDEN_ITEM_4D 0x2A5
+#define FLAG_HIDDEN_ITEM_4E 0x2A6
+#define FLAG_HIDDEN_ITEM_4F 0x2A7
+#define FLAG_HIDDEN_ITEM_50 0x2A8
+#define FLAG_HIDDEN_ITEM_51 0x2A9
+#define FLAG_HIDDEN_ITEM_52 0x2AA
+#define FLAG_HIDDEN_ITEM_53 0x2AB
+#define FLAG_HIDDEN_ITEM_54 0x2AC
+#define FLAG_HIDDEN_ITEM_55 0x2AD
+#define FLAG_HIDDEN_ITEM_56 0x2AE
+#define FLAG_HIDDEN_ITEM_57 0x2AF
+#define FLAG_HIDDEN_ITEM_58 0x2B0
+#define FLAG_HIDDEN_ITEM_59 0x2B1
+#define FLAG_HIDDEN_ITEM_5A 0x2B2
+#define FLAG_HIDDEN_ITEM_5B 0x2B3
+#define FLAG_HIDDEN_ITEM_5C 0x2B4
+#define FLAG_HIDDEN_ITEM_5D 0x2B5
+#define FLAG_HIDDEN_ITEM_5E 0x2B6
+#define FLAG_HIDDEN_ITEM_5F 0x2B7
+#define FLAG_HIDDEN_ITEM_BLACK_GLASSES 0x2B8
+#define FLAG_HIDDEN_ITEM_61 0x2B9
+
+
+// map object hide/show flags
#define FLAG_HIDE_BIRCH_STARTERS_BAG 0x2BC
#define FLAG_HIDE_BIRCH_BATTLE_POOCHYENA 0x2D0
diff --git a/include/constants/secret_bases.h b/include/constants/secret_bases.h
new file mode 100644
index 000000000..0f51054a8
--- /dev/null
+++ b/include/constants/secret_bases.h
@@ -0,0 +1,110 @@
+#ifndef GUARD_CONSTANTS_SECRET_BASES_H
+#define GUARD_CONSTANTS_SECRET_BASES_H
+
+// Each secret base location is assigned an identifier value.
+// 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.
+
+#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_CAVE2_1 11
+#define SECRET_BASE_RED_CAVE2_2 12
+#define SECRET_BASE_RED_CAVE2_3 13
+
+#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_CAVE4_1 31
+#define SECRET_BASE_RED_CAVE4_2 32
+#define SECRET_BASE_RED_CAVE4_3 33
+
+#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_CAVE2_1 51
+#define SECRET_BASE_BROWN_CAVE2_2 52
+#define SECRET_BASE_BROWN_CAVE2_3 53
+
+#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_CAVE4_1 71
+#define SECRET_BASE_BROWN_CAVE4_2 72
+#define SECRET_BASE_BROWN_CAVE4_3 73
+
+#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_CAVE2_1 91
+#define SECRET_BASE_BLUE_CAVE2_2 92
+#define SECRET_BASE_BLUE_CAVE2_3 93
+
+#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_CAVE4_1 111
+#define SECRET_BASE_BLUE_CAVE4_2 112
+#define SECRET_BASE_BLUE_CAVE4_3 113
+
+#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_CAVE2_1 131
+#define SECRET_BASE_YELLOW_CAVE2_2 132
+#define SECRET_BASE_YELLOW_CAVE2_3 133
+
+#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_CAVE4_1 151
+#define SECRET_BASE_YELLOW_CAVE4_2 152
+#define SECRET_BASE_YELLOW_CAVE4_3 153
+
+#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_TREE2_1 171
+#define SECRET_BASE_TREE2_2 172
+#define SECRET_BASE_TREE2_3 173
+#define SECRET_BASE_TREE2_4 174
+
+#define SECRET_BASE_TREE3_1 181
+#define SECRET_BASE_TREE3_2 182
+#define SECRET_BASE_TREE3_3 183
+
+#define SECRET_BASE_TREE4_1 191
+#define SECRET_BASE_TREE4_2 192
+#define SECRET_BASE_TREE4_3 193
+
+#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_SHRUB2_1 211
+#define SECRET_BASE_SHRUB2_2 212
+#define SECRET_BASE_SHRUB2_3 213
+
+#define SECRET_BASE_SHRUB3_1 221
+#define SECRET_BASE_SHRUB3_2 222
+#define SECRET_BASE_SHRUB3_3 223
+
+#define SECRET_BASE_SHRUB4_1 231
+#define SECRET_BASE_SHRUB4_2 232
+#define SECRET_BASE_SHRUB4_3 233
+
+#endif // GUARD_CONSTANTS_SECRET_BASES_H
diff --git a/include/constants/weather.h b/include/constants/weather.h
new file mode 100644
index 000000000..946316984
--- /dev/null
+++ b/include/constants/weather.h
@@ -0,0 +1,39 @@
+#ifndef GUARD_CONSTANTS_WEATHER_H
+#define GUARD_CONSTANTS_WEATHER_H
+
+#define WEATHER_NONE 0
+#define WEATHER_CLOUDS 1
+#define WEATHER_SUNNY 2
+#define WEATHER_RAIN_LIGHT 3
+#define WEATHER_SNOW 4
+#define WEATHER_RAIN_MED 5
+#define WEATHER_FOG_1 6
+#define WEATHER_ASH 7
+#define WEATHER_SANDSTORM 8
+#define WEATHER_FOG_2 9
+#define WEATHER_FOG_3 10
+#define WEATHER_DARK 11
+#define WEATHER_DROUGHT 12
+#define WEATHER_RAIN_HEAVY 13
+#define WEATHER_BUBBLES 14
+#define WEATHER_ROUTE119_CYCLE 20
+#define WEATHER_ROUTE123_CYCLE 21
+
+// These are used in maps' coord_weather_event entries.
+// They are not a one-to-one mapping with the engine's
+// internal weather constants above.
+#define COORD_EVENT_WEATHER_CLOUDS 1
+#define COORD_EVENT_WEATHER_SUNNY 2
+#define COORD_EVENT_WEATHER_RAIN_LIGHT 3
+#define COORD_EVENT_WEATHER_SNOW 4
+#define COORD_EVENT_WEATHER_RAIN_MED 5
+#define COORD_EVENT_WEATHER_FOG_1 6
+#define COORD_EVENT_WEATHER_FOG_2 7
+#define COORD_EVENT_WEATHER_ASH 8
+#define COORD_EVENT_WEATHER_SANDSTORM 9
+#define COORD_EVENT_WEATHER_DARK 10
+#define COORD_EVENT_WEATHER_DROUGHT 11
+#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20
+#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21
+
+#endif // GUARD_CONSTANTS_WEATHER_H
diff --git a/include/field_weather.h b/include/field_weather.h
index ed16b2bf6..c96d4055e 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -1,18 +1,6 @@
#ifndef GUARD_WEATHER_H
#define GUARD_WEATHER_H
-#define WEATHER_NONE 0
-#define WEATHER_CLOUDS 1
-#define WEATHER_RAIN_LIGHT 3
-#define WEATHER_SNOW 4
-#define WEATHER_RAIN_MED 5
-#define WEATHER_FOG_1 6
-#define WEATHER_ASH 7
-#define WEATHER_FOG_2 9
-#define WEATHER_DROUGHT 12
-#define WEATHER_RAIN_HEAVY 13
-#define WEATHER_BUBBLES 14
-
struct Sprite;
struct Weather
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 20190dcb7..a828cf131 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -119,9 +119,9 @@ struct BgEvent
// in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
u8 *script;
- // hidden item type probably
+ // hidden item type
struct {
- u8 filler6[0x2];
+ u16 item;
u16 hiddenItemId; // flag offset to determine flag lookup
} hiddenItem;
diff --git a/src/battle/battle_3.c b/src/battle/battle_3.c
index f627e50f0..b21ec1572 100644
--- a/src/battle/battle_3.c
+++ b/src/battle/battle_3.c
@@ -7,6 +7,7 @@
#include "event_data.h"
#include "constants/hold_effects.h"
#include "constants/species.h"
+#include "constants/weather.h"
#include "pokemon.h"
#include "data2.h"
#include "random.h"
@@ -1500,9 +1501,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
//_08018586
switch (weather_get_current())
{
- case 3:
- case 5:
- case 13:
+ case WEATHER_RAIN_LIGHT:
+ case WEATHER_RAIN_MED:
+ case WEATHER_RAIN_HEAVY:
if (!(gBattleWeather & WEATHER_RAIN_ANY))
{
gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT);
@@ -1511,7 +1512,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
effect++;
}
break;
- case 8:
+ case WEATHER_SANDSTORM:
if (!(gBattleWeather & WEATHER_SANDSTORM_ANY))
{
gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY);
@@ -1520,7 +1521,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg)
effect++;
}
break;
- case 12:
+ case WEATHER_DROUGHT:
if (!(gBattleWeather & WEATHER_SUN_ANY))
{
gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY);
diff --git a/src/field/coord_event_weather.c b/src/field/coord_event_weather.c
index 9c5a1ca4d..db4e9c161 100644
--- a/src/field/coord_event_weather.c
+++ b/src/field/coord_event_weather.c
@@ -1,115 +1,116 @@
#include "global.h"
+#include "constants/weather.h"
#include "coord_event_weather.h"
#include "field_weather.h"
struct CoordEventWeather
{
- u8 weather;
+ u8 coordEventWeather;
void (*func)(void);
};
-static void CoordEventWeather_Indoor(void);
+static void CoordEventWeather_Clouds(void);
static void CoordEventWeather_Sunny(void);
-static void CoordEventWeather_Rain(void);
-static void CoordEventWeather_Snowflakes(void);
+static void CoordEventWeather_LightRain(void);
+static void CoordEventWeather_Snow(void);
static void CoordEventWeather_Thunderstorm(void);
static void CoordEventWeather_Fog(void);
static void CoordEventWeather_DiagonalFog(void);
-static void CoordEventWeather_Snow(void);
+static void CoordEventWeather_Ash(void);
static void CoordEventWeather_Sandstorm(void);
-static void CoordEventWeather_Cloudy(void);
+static void CoordEventWeather_Dark(void);
static void CoordEventWeather_Drought(void);
-static void CoordEventWeather_UnderwaterFog(void);
-static void CoordEventWeather_UnderwaterBubbles(void);
+static void CoordEventWeather_Route119Cycle(void);
+static void CoordEventWeather_Route123Cycle(void);
static const struct CoordEventWeather sCoordEventWeatherFuncs[] =
{
- { 0x1, CoordEventWeather_Indoor },
- { 0x2, CoordEventWeather_Sunny },
- { 0x3, CoordEventWeather_Rain },
- { 0x4, CoordEventWeather_Snowflakes },
- { 0x5, CoordEventWeather_Thunderstorm },
- { 0x6, CoordEventWeather_Fog },
- { 0x7, CoordEventWeather_DiagonalFog },
- { 0x8, CoordEventWeather_Snow },
- { 0x9, CoordEventWeather_Sandstorm },
- { 0xa, CoordEventWeather_Cloudy },
- { 0xb, CoordEventWeather_Drought },
- { 0x14, CoordEventWeather_UnderwaterFog },
- { 0x15, CoordEventWeather_UnderwaterBubbles },
+ { COORD_EVENT_WEATHER_CLOUDS, CoordEventWeather_Clouds },
+ { COORD_EVENT_WEATHER_SUNNY, CoordEventWeather_Sunny },
+ { COORD_EVENT_WEATHER_RAIN_LIGHT, CoordEventWeather_LightRain },
+ { COORD_EVENT_WEATHER_SNOW, CoordEventWeather_Snow },
+ { COORD_EVENT_WEATHER_RAIN_MED, CoordEventWeather_Thunderstorm },
+ { COORD_EVENT_WEATHER_FOG_1, CoordEventWeather_Fog },
+ { COORD_EVENT_WEATHER_FOG_2, CoordEventWeather_DiagonalFog },
+ { COORD_EVENT_WEATHER_ASH, CoordEventWeather_Ash },
+ { COORD_EVENT_WEATHER_SANDSTORM, CoordEventWeather_Sandstorm },
+ { COORD_EVENT_WEATHER_DARK, CoordEventWeather_Dark },
+ { COORD_EVENT_WEATHER_DROUGHT, CoordEventWeather_Drought },
+ { COORD_EVENT_WEATHER_ROUTE119_CYCLE, CoordEventWeather_Route119Cycle },
+ { COORD_EVENT_WEATHER_ROUTE123_CYCLE, CoordEventWeather_Route123Cycle },
};
-static void CoordEventWeather_Indoor(void)
+static void CoordEventWeather_Clouds(void)
{
- SetWeather(1);
+ SetWeather(WEATHER_CLOUDS);
}
static void CoordEventWeather_Sunny(void)
{
- SetWeather(2);
+ SetWeather(WEATHER_SUNNY);
}
-static void CoordEventWeather_Rain(void)
+static void CoordEventWeather_LightRain(void)
{
- SetWeather(3);
+ SetWeather(WEATHER_RAIN_LIGHT);
}
-static void CoordEventWeather_Snowflakes(void)
+static void CoordEventWeather_Snow(void)
{
- SetWeather(4);
+ SetWeather(WEATHER_SNOW);
}
static void CoordEventWeather_Thunderstorm(void)
{
- SetWeather(5);
+ SetWeather(WEATHER_RAIN_MED);
}
static void CoordEventWeather_Fog(void)
{
- SetWeather(6);
+ SetWeather(WEATHER_FOG_1);
}
static void CoordEventWeather_DiagonalFog(void)
{
- SetWeather(9);
+ SetWeather(WEATHER_FOG_2);
}
-static void CoordEventWeather_Snow(void)
+static void CoordEventWeather_Ash(void)
{
- SetWeather(7);
+ SetWeather(WEATHER_ASH);
}
static void CoordEventWeather_Sandstorm(void)
{
- SetWeather(8);
+ SetWeather(WEATHER_SANDSTORM);
}
-static void CoordEventWeather_Cloudy(void)
+static void CoordEventWeather_Dark(void)
{
- SetWeather(11);
+ SetWeather(WEATHER_DARK);
}
static void CoordEventWeather_Drought(void)
{
- SetWeather(12);
+ SetWeather(WEATHER_DROUGHT);
}
-static void CoordEventWeather_UnderwaterFog(void)
+static void CoordEventWeather_Route119Cycle(void)
{
- SetWeather(20);
+ SetWeather(WEATHER_ROUTE119_CYCLE);
}
-static void CoordEventWeather_UnderwaterBubbles(void)
+static void CoordEventWeather_Route123Cycle(void)
{
- SetWeather(21);
+ SetWeather(WEATHER_ROUTE123_CYCLE);
}
-void DoCoordEventWeather(u8 n)
+void DoCoordEventWeather(u8 coordEventWeather)
{
u8 i;
for (i = 0; i < ARRAY_COUNT(sCoordEventWeatherFuncs); i++)
{
- if (sCoordEventWeatherFuncs[i].weather == n)
+ if (sCoordEventWeatherFuncs[i].coordEventWeather == coordEventWeather)
{
sCoordEventWeatherFuncs[i].func();
return;
diff --git a/src/field/field_control_avatar.c b/src/field/field_control_avatar.c
index cd7d3a2e2..947dc3e56 100644
--- a/src/field/field_control_avatar.c
+++ b/src/field/field_control_avatar.c
@@ -355,7 +355,7 @@ static u8 *TryGetInvisibleMapObjectScript(struct MapPosition *position, u8 unuse
case 5:
case 6:
case 7:
- gSpecialVar_0x8004 = ((u32)bgEvent->bgUnion.script >> 16) + 0x258;
+ gSpecialVar_0x8004 = ((u32)bgEvent->bgUnion.script >> 16) + FLAG_HIDDEN_ITEMS_START;
gSpecialVar_0x8005 = (u32)bgEvent->bgUnion.script;
if (FlagGet(gSpecialVar_0x8004) == TRUE)
return NULL;
@@ -363,7 +363,7 @@ static u8 *TryGetInvisibleMapObjectScript(struct MapPosition *position, u8 unuse
case 8:
if (c == 2)
{
- gSpecialVar_0x8004 = (u32)bgEvent->bgUnion.script;
+ gSpecialVar_0x8004 = bgEvent->bgUnion.secretBaseId;
if (sub_80BC050())
return gUnknown_081A2C51;
}
diff --git a/src/field/field_specials.c b/src/field/field_specials.c
index 8cb1ba487..1a4ebe1af 100644
--- a/src/field/field_specials.c
+++ b/src/field/field_specials.c
@@ -1995,9 +1995,9 @@ static void sub_810F814(u8 taskId)
EnableBothScriptContexts();
}
-bool8 sub_810F828(void)
+bool8 FoundBlackGlasses(void)
{
- return FlagGet(FLAG_UNKNOWN_2B8);
+ return FlagGet(FLAG_HIDDEN_ITEM_BLACK_GLASSES);
}
void SetRoute119Weather(void)
diff --git a/src/field/field_weather.c b/src/field/field_weather.c
index 19ccca3bf..4a819bddf 100644
--- a/src/field/field_weather.c
+++ b/src/field/field_weather.c
@@ -5,6 +5,7 @@
#include "palette.h"
#include "random.h"
#include "script.h"
+#include "constants/weather.h"
#include "constants/songs.h"
#include "sound.h"
#include "sprite.h"
@@ -397,31 +398,31 @@ void sub_807CCAC(void)
case WEATHER_RAIN_MED:
case WEATHER_RAIN_HEAVY:
case WEATHER_SNOW:
- case 11:
+ case WEATHER_DARK:
if (sub_807CDC4() == 0)
{
gWeatherPtr->unknown_6C0 = 3;
gWeatherPtr->unknown_6C6 = 3;
}
break;
- case 12:
+ case WEATHER_DROUGHT:
if (sub_807CE24() == 0)
{
gWeatherPtr->unknown_6C0 = -6;
gWeatherPtr->unknown_6C6 = 3;
}
break;
- case 6:
+ case WEATHER_FOG_1:
if (sub_807CE7C() == 0)
{
gWeatherPtr->unknown_6C0 = 0;
gWeatherPtr->unknown_6C6 = 3;
}
break;
- case 7:
- case 8:
- case 9:
- case 10:
+ case WEATHER_ASH:
+ case WEATHER_SANDSTORM:
+ case WEATHER_FOG_2:
+ case WEATHER_FOG_3:
default:
if (!gPaletteFade.active)
{
@@ -807,9 +808,9 @@ void fade_screen(u8 a, u8 delay)
case WEATHER_RAIN_MED:
case WEATHER_RAIN_HEAVY:
case WEATHER_SNOW:
- case 6:
- case 11:
- case 12:
+ case WEATHER_FOG_1:
+ case WEATHER_DARK:
+ case WEATHER_DROUGHT:
r2 = 1;
break;
default:
@@ -854,7 +855,7 @@ void sub_807D78C(u8 a)
case 1:
if (gWeatherPtr->unknown_6CA != 0)
{
- if (gWeatherPtr->currWeather == 6)
+ if (gWeatherPtr->currWeather == WEATHER_FOG_1)
sub_807D540(r4);
r4 *= 16;
for (i = 0; i < 16; i++)
@@ -867,7 +868,7 @@ void sub_807D78C(u8 a)
BlendPalette(r4, 16, gPaletteFade.y, gPaletteFade.blendColor);
break;
default:
- if (gWeatherPtr->currWeather != 6)
+ if (gWeatherPtr->currWeather != WEATHER_FOG_1)
{
sub_807CEBC(r4, 1, gWeatherPtr->unknown_6C0);
}
diff --git a/src/field/field_weather_effects.c b/src/field/field_weather_effects.c
index 31eda4393..5a59d6c2a 100644
--- a/src/field/field_weather_effects.c
+++ b/src/field/field_weather_effects.c
@@ -4,6 +4,7 @@
#include "overworld.h"
#include "random.h"
#include "script.h"
+#include "constants/weather.h"
#include "constants/songs.h"
#include "sound.h"
#include "sprite.h"
diff --git a/src/field/item_use.c b/src/field/item_use.c
index cf5f05eb9..e1fdddce0 100644
--- a/src/field/item_use.c
+++ b/src/field/item_use.c
@@ -14,6 +14,7 @@
#include "fieldmap.h"
#include "item.h"
#include "item_menu.h"
+#include "constants/flags.h"
#include "constants/items.h"
#include "mail.h"
#include "main.h"
@@ -328,7 +329,7 @@ bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, u8 taskId)
for (i = 0; i < events->bgEventCount; i++)
{
- if ((events -> bgEvents[i].kind == 7) && !FlagGet(events -> bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 600))
+ if ((events -> bgEvents[i].kind == 7) && !FlagGet(events -> bgEvents[i].bgUnion.hiddenItem.hiddenItemId + FLAG_HIDDEN_ITEMS_START))
{
// do a distance lookup of each item so long as the index remains less than the objects on the current map.
distanceX = (u16)events -> bgEvents[i].x + 7;
@@ -360,7 +361,7 @@ bool8 HiddenItemAtPos(struct MapEvents *events, s16 x, s16 y)
{
if (bgEvent[i].kind == 7 && x == (u16)bgEvent[i].x && y == (u16)bgEvent[i].y) // hidden item and coordinates matches x and y passed?
{
- if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + 600))
+ if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + FLAG_HIDDEN_ITEMS_START))
return TRUE;
else
return FALSE;