summaryrefslogtreecommitdiff
path: root/constants
diff options
context:
space:
mode:
Diffstat (limited to 'constants')
-rw-r--r--constants/battle_constants.asm2
-rw-r--r--constants/credits_constants.asm150
-rw-r--r--constants/event_constants.asm37
-rw-r--r--constants/gfx_constants.asm5
-rw-r--r--constants/hide_show_constants.asm446
-rw-r--r--constants/icon_constants.asm1
-rw-r--r--constants/item_constants.asm3
-rw-r--r--constants/map_constants.asm3
-rw-r--r--constants/move_effect_constants.asm2
-rw-r--r--constants/music_constants.asm22
-rw-r--r--constants/oam_constants.asm1
-rw-r--r--constants/palette_constants.asm5
-rw-r--r--constants/pikachu_emotion_constants.asm229
-rw-r--r--constants/pokemon_constants.asm11
-rw-r--r--constants/script_constants.asm5
-rw-r--r--constants/sprite_anim_constants.asm17
-rw-r--r--constants/sprite_constants.asm40
-rw-r--r--constants/text_constants.asm1
-rw-r--r--constants/tileset_constants.asm1
19 files changed, 665 insertions, 316 deletions
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm
index 99d371b2..15ba42eb 100644
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -13,6 +13,8 @@ BIT_TEST_BATTLE EQU 0
const BATTLE_TYPE_NORMAL ; 0
const BATTLE_TYPE_OLD_MAN ; 1
const BATTLE_TYPE_SAFARI ; 2
+ const BATTLE_TYPE_RUN ; 3
+ const BATTLE_TYPE_PIKACHU ; 4
; damage limits before type effectiveness
MIN_NEUTRAL_DAMAGE EQU 2
diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm
index dcf782ef..b04ec0b8 100644
--- a/constants/credits_constants.asm
+++ b/constants/credits_constants.asm
@@ -1,69 +1,91 @@
; CreditsTextPointers indexes (see data/credits/credits_text.asm)
const_def
- const CRED_VERSION ; $00
- const CRED_TAJIRI ; $01
- const CRED_TA_OOTA ; $02
- const CRED_MORIMOTO ; $03
- const CRED_WATANABE ; $04
- const CRED_MASUDE ; $05
- const CRED_NISINO ; $06
- const CRED_SUGIMORI ; $07
- const CRED_NISHIDA ; $08
- const CRED_MIYAMOTO ; $09
- const CRED_KAWAGUCHI ; $0A
- const CRED_ISHIHARA ; $0B
- const CRED_YAMAUCHI ; $0C
- const CRED_ZINNAI ; $0D
- const CRED_HISHIDA ; $0E
- const CRED_SAKAI ; $0F
- const CRED_YAMAGUCHI ; $10
- const CRED_YAMAMOTO ; $11
- const CRED_TANIGUCHI ; $12
- const CRED_NONOMURA ; $13
- const CRED_FUZIWARA ; $14
- const CRED_MATSUSIMA ; $15
- const CRED_TOMISAWA ; $16
- const CRED_KAWAMOTO ; $17
- const CRED_KAKEI ; $18
- const CRED_TSUCHIYA ; $19
- const CRED_TA_NAKAMURA ; $1A
- const CRED_YUDA ; $1B
- const CRED_MON ; $1C
- const CRED_DIRECTOR ; $1D
- const CRED_PROGRAMMERS ; $1E
- const CRED_CHAR_DESIGN ; $1F
- const CRED_MUSIC ; $20
- const CRED_SOUND_EFFECTS ; $21
- const CRED_GAME_DESIGN ; $22
- const CRED_MONSTER_DESIGN ; $23
- const CRED_GAME_SCENE ; $24
- const CRED_PARAM ; $25
- const CRED_MAP ; $26
- const CRED_TEST ; $27
- const CRED_SPECIAL ; $28
- const CRED_PRODUCERS ; $29
- const CRED_PRODUCER ; $2A
- const CRED_EXECUTIVE ; $2B
- const CRED_TAMADA ; $2C
- const CRED_SA_OOTA ; $2D
- const CRED_YOSHIKAWA ; $2E
- const CRED_TO_OOTA ; $2F
- const CRED_US_STAFF ; $30
- const CRED_US_COORD ; $31
- const CRED_TILDEN ; $32
- const CRED_KAWAKAMI ; $33
- const CRED_HI_NAKAMURA ; $34
- const CRED_GIESE ; $35
- const CRED_OSBORNE ; $36
- const CRED_TRANS ; $37
- const CRED_OGASAWARA ; $38
- const CRED_IWATA ; $39
- const CRED_IZUSHI ; $3A
- const CRED_HARADA ; $3B
- const CRED_MURAKAWA ; $3C
- const CRED_FUKUI ; $3D
- const CRED_CLUB ; $3E
- const CRED_PAAD ; $3F
+ const CRED_VERSION ; 00
+ const CRED_TAJIRI ; 01
+ const CRED_OOTA ; 02
+ const CRED_MORIMOTO ; 03
+ const CRED_WATANABE ; 04
+ const CRED_MASUDA ; 05
+ const CRED_NISHINO ; 06
+ const CRED_SUGIMORI ; 07
+ const CRED_NISHIDA ; 08
+ const CRED_MIYAMOTO ; 09
+ const CRED_KAWAGUCHI ; 0a
+ const CRED_ISHIHARA ; 0b
+ const CRED_YAMAUCHI ; 0c
+ const CRED_ZINNAI ; 0d
+ const CRED_HISHIDA ; 0e
+ const CRED_SAKAI ; 0f
+ const CRED_YAMAGUCHI ; 10
+ const CRED_YAMAMOTO ; 11
+ const CRED_TANIGUCHI ; 12
+ const CRED_NONOMURA ; 13
+ const CRED_FUZIWARA ; 14
+ const CRED_MATSUSIMA ; 15
+ const CRED_TOMISAWA ; 16
+ const CRED_KAWAMOTO ; 17
+ const CRED_KAKEI ; 18
+ const CRED_TSUCHIYA ; 19
+ const CRED_NAKAMURA ; 1a
+ const CRED_YUDA ; 1b
+ const CRED_POKEMON ; 1c
+ const CRED_DIRECTOR ; 1d
+ const CRED_PROGRAMMERS ; 1e
+ const CRED_CHARACTER_DESIGN ; 1f
+ const CRED_MUSIC ; 20
+ const CRED_SOUND_EFFECTS ; 21
+ const CRED_GAME_DESIGN ; 22
+ const CRED_MONSTER_DESIGN ; 23
+ const CRED_GAME_SCENARIO ; 24
+ const CRED_PARAMETRIC_DESIGN ; 25
+ const CRED_MAP_DESIGN ; 26
+ const CRED_TESTING ; 27
+ const CRED_SPECIAL_THANKS ; 28
+ const CRED_PRODUCER ; 29
+ const CRED_EXECUTIVE_PRODUCER ; 2a
+ const CRED_TAMADA ; 2b
+ const CRED_OOTA2 ; 2c
+ const CRED_YOSHIKAWA ; 2d
+ const CRED_OOTA23 ; 2e
+ const CRED_YOSHIDA ; 2f
+ const CRED_MATSUMITA ; 30
+ const CRED_SEYA ; 31
+ const CRED_SEKINE ; 32
+ const CRED_SHIMAMURA ; 33
+ const CRED_SHIMOYAMADA ; 34
+ const CRED_SUPER_MARIO_CLUB ; 35
+ const CRED_IZUSHI ; 36
+ const CRED_NOMURA ; 37
+ const CRED_HARADA ; 38
+ const CRED_YAMAGAMI ; 39
+ const CRED_NISHIMURA ; 3a
+ const CRED_SAEKI ; 3b
+ const CRED_FUZII ; 3c
+ const CRED_SHOGAKUKAN ; 3d
+ const CRED_OOTANI ; 3e
+ const CRED_PIKACHU_VOICE ; 3f
+ const CRED_U_S_STAFF ; 40
+ const CRED_U_S_COORD ; 41
+ const CRED_TILDEN ; 42
+ const CRED_KAWAKAMI ; 43
+ const CRED_NAKAMURA2 ; 44
+ const CRED_SHOEMAKE ; 45
+ const CRED_OSBORNE ; 46
+ const CRED_TRANSLATION ; 47
+ const CRED_OGASAWARA ; 48
+ const CRED_IWATA ; 49
+ const CRED_IZUSHI2 ; 4a
+ const CRED_HARADA2 ; 4b
+ const CRED_MURAKAWA ; 4c
+ const CRED_FUKUI ; 4d
+ const CRED_SUPER_MARIO_CLUB2 ; 4e
+ const CRED_PAAD ; 4f
+ const CRED_PRODUCERS ; 50
+ const CRED_HOSOKAWA ; 51
+ const CRED_OKUBO ; 52
+ const CRED_NAKAMICHI ; 53
+ const CRED_YOSHIMURA ; 54
+ const CRED_YAMAZAKI ; 55
const_def -1, -1
const CRED_TEXT_FADE_MON ; $FF
diff --git a/constants/event_constants.asm b/constants/event_constants.asm
index 4f169880..bf4926aa 100644
--- a/constants/event_constants.asm
+++ b/constants/event_constants.asm
@@ -5,7 +5,8 @@
const EVENT_FOLLOWED_OAK_INTO_LAB
const_skip 2
const EVENT_HALL_OF_FAME_DEX_RATING
- const_skip 2
+ const_skip
+ const EVENT_PLAYER_AT_RIGHT_EXIT_TO_PALLET_TOWN
const EVENT_PALLET_AFTER_GETTING_POKEBALLS
const_skip 17
const EVENT_GOT_TOWN_MAP
@@ -25,7 +26,12 @@
const_next $28
const EVENT_VIRIDIAN_GYM_OPEN
const EVENT_GOT_TM42
- const_skip 14
+ const_skip 2
+ const EVENT_02C
+ const EVENT_02D
+ const EVENT_02E
+ const EVENT_02F
+ const_skip 8
const EVENT_OAK_GOT_PARCEL
const EVENT_GOT_OAKS_PARCEL
const_skip 22
@@ -55,7 +61,8 @@
const EVENT_BEAT_CERULEAN_RIVAL
const_skip 14
const EVENT_BEAT_CERULEAN_ROCKET_THIEF
- const_skip 18
+ const EVENT_GOT_BULBASAUR_IN_CERULEAN
+ const_skip 17
const EVENT_BEAT_CERULEAN_GYM_TRAINER_0
const EVENT_BEAT_CERULEAN_GYM_TRAINER_1
const_skip 2
@@ -96,12 +103,15 @@
const EVENT_RESCUED_MR_FUJI_2
const_skip 16
const EVENT_GOT_POKE_FLUTE
+ const_skip 30
+ const EVENT_GOT_SQUIRTLE_FROM_OFFICER_JENNY
; Vermilion City events
const_next $150
const_skip
const EVENT_GOT_BIKE_VOUCHER
- const_skip 4
+ const EVENT_152
+ const_skip 3
const EVENT_SEEL_FAN_BOAST
const EVENT_PIKACHU_FAN_BOAST
const_skip 8
@@ -505,7 +515,8 @@
const EVENT_NUGGET_REWARD_AVAILABLE
; Route 25 events
- const_next $550
+ const_next $550 - 1
+ const EVENT_54F
const EVENT_MET_BILL
const EVENT_BEAT_ROUTE_25_TRAINER_0
const EVENT_BEAT_ROUTE_25_TRAINER_1
@@ -529,6 +540,8 @@
const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0
const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1
const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2
+ const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_3
+ const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_4
; Mt. Moon events
const_next $570
@@ -540,13 +553,13 @@
const EVENT_BEAT_MT_MOON_1_TRAINER_4
const EVENT_BEAT_MT_MOON_1_TRAINER_5
const EVENT_BEAT_MT_MOON_1_TRAINER_6
- const_skip
+ const EVENT_GOT_DOME_FOSSIL
const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
const EVENT_BEAT_MT_MOON_3_TRAINER_0
const EVENT_BEAT_MT_MOON_3_TRAINER_1
const EVENT_BEAT_MT_MOON_3_TRAINER_2
const EVENT_BEAT_MT_MOON_3_TRAINER_3
- const EVENT_GOT_DOME_FOSSIL
+ const EVENT_57E
const EVENT_GOT_HELIX_FOSSIL
; S.S. Anne events
@@ -606,7 +619,9 @@
const_skip 15
const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0
const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1
- const_skip 15
+ const_skip 13
+ const EVENT_6A0
+ const_skip
const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
@@ -683,7 +698,11 @@
const EVENT_BEAT_SILPH_CO_10F_TRAINER_1
const_skip 5
const EVENT_SILPH_CO_10_UNLOCKED_DOOR
- const_skip 11
+ const_skip 7
+ const EVENT_780
+ const EVENT_781
+ const EVENT_782
+ const_skip
const EVENT_BEAT_SILPH_CO_11F_TRAINER_0
const EVENT_BEAT_SILPH_CO_11F_TRAINER_1
const_skip 2
diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm
index dd9de6b6..483bafa9 100644
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -12,6 +12,11 @@ BG_MAP_HEIGHT EQU 32 ; tiles
SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE
+; DMGPalToGBCPal
+CONVERT_BGP EQU 0
+CONVERT_OBP0 EQU 1
+CONVERT_OBP1 EQU 2
+
; HP bar
HP_BAR_GREEN EQU 0
HP_BAR_YELLOW EQU 1
diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm
index 82e80bae..08bb2607 100644
--- a/constants/hide_show_constants.asm
+++ b/constants/hide_show_constants.asm
@@ -3,237 +3,245 @@ SHOW EQU $15
; MissableObjects indexes (see data/maps/hide_show_data.asm)
; this is a list of the sprites that can be enabled/disabled during the game
-; sprites marked with an X are constants that are never used
-; because those sprites are not (de)activated in a map's script
-; (they are either items or sprites that deactivate after battle
-; and are detected in wMissableObjectList)
+; TODO: mark sprite constants with an X that are never used
const_def
const HS_PALLET_TOWN_OAK ; 00
const HS_LYING_OLD_MAN ; 01
- const HS_OLD_MAN ; 02
- const HS_MUSEUM_GUY ; 03
- const HS_GYM_GUY ; 04
- const HS_CERULEAN_RIVAL ; 05
- const HS_CERULEAN_ROCKET ; 06
- const HS_CERULEAN_GUARD_1 ; 07
- const HS_CERULEAN_CAVE_GUY ; 08
- const HS_CERULEAN_GUARD_2 ; 09
- const HS_SAFFRON_CITY_1 ; 0A
- const HS_SAFFRON_CITY_2 ; 0B
- const HS_SAFFRON_CITY_3 ; 0C
- const HS_SAFFRON_CITY_4 ; 0D
- const HS_SAFFRON_CITY_5 ; 0E
- const HS_SAFFRON_CITY_6 ; 0F
- const HS_SAFFRON_CITY_7 ; 10
- const HS_SAFFRON_CITY_8 ; 11
- const HS_SAFFRON_CITY_9 ; 12
- const HS_SAFFRON_CITY_A ; 13
- const HS_SAFFRON_CITY_B ; 14
- const HS_SAFFRON_CITY_C ; 15
- const HS_SAFFRON_CITY_D ; 16
- const HS_SAFFRON_CITY_E ; 17
- const HS_SAFFRON_CITY_F ; 18
- const HS_ROUTE_2_ITEM_1 ; 19 X
- const HS_ROUTE_2_ITEM_2 ; 1A X
- const HS_ROUTE_4_ITEM ; 1B X
- const HS_ROUTE_9_ITEM ; 1C X
- const HS_ROUTE_12_SNORLAX ; 1D
- const HS_ROUTE_12_ITEM_1 ; 1E X
- const HS_ROUTE_12_ITEM_2 ; 1F X
- const HS_ROUTE_15_ITEM ; 20 X
- const HS_ROUTE_16_SNORLAX ; 21
- const HS_ROUTE_22_RIVAL_1 ; 22
- const HS_ROUTE_22_RIVAL_2 ; 23
- const HS_NUGGET_BRIDGE_GUY ; 24
- const HS_ROUTE_24_ITEM ; 25 X
- const HS_ROUTE_25_ITEM ; 26 X
- const HS_DAISY_SITTING ; 27
- const HS_DAISY_WALKING ; 28
- const HS_TOWN_MAP ; 29
- const HS_OAKS_LAB_RIVAL ; 2A
- const HS_STARTER_BALL_1 ; 2B
- const HS_STARTER_BALL_2 ; 2C
- const HS_STARTER_BALL_3 ; 2D
- const HS_OAKS_LAB_OAK_1 ; 2E
- const HS_POKEDEX_1 ; 2F
- const HS_POKEDEX_2 ; 30
- const HS_OAKS_LAB_OAK_2 ; 31
- const HS_VIRIDIAN_GYM_GIOVANNI ; 32
- const HS_VIRIDIAN_GYM_ITEM ; 33 X
- const HS_OLD_AMBER ; 34
- const HS_CERULEAN_CAVE_1F_ITEM_1 ; 35 X
- const HS_CERULEAN_CAVE_1F_ITEM_2 ; 36 X
- const HS_CERULEAN_CAVE_1F_ITEM_3 ; 37 X
- const HS_POKEMON_TOWER_2F_RIVAL ; 38
- const HS_POKEMON_TOWER_3F_ITEM ; 39 X
- const HS_POKEMON_TOWER_4F_ITEM_1 ; 3A X
- const HS_POKEMON_TOWER_4F_ITEM_2 ; 3B X
- const HS_POKEMON_TOWER_4F_ITEM_3 ; 3C X
- const HS_POKEMON_TOWER_5F_ITEM ; 3D X
- const HS_POKEMON_TOWER_6F_ITEM_1 ; 3E X
- const HS_POKEMON_TOWER_6F_ITEM_2 ; 3F X
- const HS_POKEMON_TOWER_7F_ROCKET_1 ; 40 X
- const HS_POKEMON_TOWER_7F_ROCKET_2 ; 41 X
- const HS_POKEMON_TOWER_7F_ROCKET_3 ; 42 X
+ const HS_OLD_MAN_1 ; 02
+ const HS_OLD_MAN ; 03
+ const HS_MUSEUM_GUY ; 04
+ const HS_GYM_GUY ; 05
+ const HS_CERULEAN_RIVAL ; 06
+ const HS_CERULEAN_ROCKET ; 07
+ const HS_CERULEAN_GUARD_1 ; 08
+ const HS_CERULEAN_CAVE_GUY ; 09
+ const HS_CERULEAN_GUARD_2 ; 0A
+ const HS_SAFFRON_CITY_1 ; 0B
+ const HS_SAFFRON_CITY_2 ; 0C
+ const HS_SAFFRON_CITY_3 ; 0D
+ const HS_SAFFRON_CITY_4 ; 0E
+ const HS_SAFFRON_CITY_5 ; 0F
+ const HS_SAFFRON_CITY_6 ; 10
+ const HS_SAFFRON_CITY_7 ; 11
+ const HS_SAFFRON_CITY_8 ; 12
+ const HS_SAFFRON_CITY_9 ; 13
+ const HS_SAFFRON_CITY_A ; 14
+ const HS_SAFFRON_CITY_B ; 15
+ const HS_SAFFRON_CITY_C ; 16
+ const HS_SAFFRON_CITY_D ; 17
+ const HS_SAFFRON_CITY_E ; 18
+ const HS_SAFFRON_CITY_F ; 19
+ const HS_ROUTE_2_ITEM_1 ; 1A
+ const HS_ROUTE_2_ITEM_2 ; 1B
+ const HS_ROUTE_4_ITEM ; 1C
+ const HS_ROUTE_9_ITEM ; 1D
+ const HS_ROUTE_12_SNORLAX ; 1E
+ const HS_ROUTE_12_ITEM_1 ; 1F
+ const HS_ROUTE_12_ITEM_2 ; 20
+ const HS_ROUTE_15_ITEM ; 21
+ const HS_ROUTE_16_SNORLAX ; 22
+ const HS_ROUTE_22_RIVAL_1 ; 23
+ const HS_ROUTE_22_RIVAL_2 ; 24
+ const HS_NUGGET_BRIDGE_GUY ; 25
+ const HS_ROUTE_24_ITEM ; 26
+ const HS_ROUTE_25_ITEM ; 27
+ const HS_DAISY_SITTING ; 28
+ const HS_DAISY_WALKING ; 29
+ const HS_TOWN_MAP ; 2A
+ const HS_OAKS_LAB_RIVAL ; 2B
+ const HS_STARTER_BALL_1 ; 2C
+ const HS_OAKS_LAB_OAK_1 ; 2D
+ const HS_POKEDEX_1 ; 2E
+ const HS_POKEDEX_2 ; 2F
+ const HS_OAKS_LAB_OAK_2 ; 30
+ const HS_VIRIDIAN_GYM_GIOVANNI ; 31
+ const HS_VIRIDIAN_GYM_ITEM ; 32
+ const HS_OLD_AMBER ; 33
+ const HS_CERULEAN_BULBASAUR ; 34
+ const HS_CERULEAN_CAVE_1F_ITEM_1 ; 35
+ const HS_CERULEAN_CAVE_1F_ITEM_2 ; 36
+ const HS_CERULEAN_CAVE_1F_ITEM_3 ; 37
+ const HS_CERULEAN_CAVE_1F_ITEM_4 ; 38
+ const HS_POKEMON_TOWER_2F_RIVAL ; 39
+ const HS_POKEMON_TOWER_3F_ITEM ; 3A
+ const HS_POKEMON_TOWER_4F_ITEM_1 ; 3B
+ const HS_POKEMON_TOWER_4F_ITEM_2 ; 3C
+ const HS_POKEMON_TOWER_4F_ITEM_3 ; 3D
+ const HS_POKEMON_TOWER_5F_ITEM ; 3E
+ const HS_POKEMON_TOWER_6F_ITEM_1 ; 3F
+ const HS_POKEMON_TOWER_6F_ITEM_2 ; 40
+ const HS_POKEMON_TOWER_7F_JESSIE ; 41
+ const HS_POKEMON_TOWER_7F_JAMES ; 42
const HS_POKEMON_TOWER_7F_MR_FUJI ; 43
const HS_MR_FUJIS_HOUSE_MR_FUJI ; 44
const HS_CELADON_MANSION_EEVEE_GIFT ; 45
const HS_GAME_CORNER_ROCKET ; 46
- const HS_WARDENS_HOUSE_ITEM ; 47 X
- const HS_POKEMON_MANSION_1F_ITEM_1 ; 48 X
- const HS_POKEMON_MANSION_1F_ITEM_2 ; 49 X
+ const HS_WARDENS_HOUSE_ITEM ; 47
+ const HS_POKEMON_MANSION_1F_ITEM_1 ; 48
+ const HS_POKEMON_MANSION_1F_ITEM_2 ; 49
const HS_FIGHTING_DOJO_GIFT_1 ; 4A
const HS_FIGHTING_DOJO_GIFT_2 ; 4B
const HS_SILPH_CO_1F_RECEPTIONIST ; 4C
- const HS_VOLTORB_1 ; 4D X
- const HS_VOLTORB_2 ; 4E X
- const HS_VOLTORB_3 ; 4F X
- const HS_ELECTRODE_1 ; 50 X
- const HS_VOLTORB_4 ; 51 X
- const HS_VOLTORB_5 ; 52 X
- const HS_ELECTRODE_2 ; 53 X
- const HS_VOLTORB_6 ; 54 X
- const HS_ZAPDOS ; 55 X
- const HS_POWER_PLANT_ITEM_1 ; 56 X
- const HS_POWER_PLANT_ITEM_2 ; 57 X
- const HS_POWER_PLANT_ITEM_3 ; 58 X
- const HS_POWER_PLANT_ITEM_4 ; 59 X
- const HS_POWER_PLANT_ITEM_5 ; 5A X
- const HS_MOLTRES ; 5B X
- const HS_VICTORY_ROAD_2F_ITEM_1 ; 5C X
- const HS_VICTORY_ROAD_2F_ITEM_2 ; 5D X
- const HS_VICTORY_ROAD_2F_ITEM_3 ; 5E X
- const HS_VICTORY_ROAD_2F_ITEM_4 ; 5F X
+ const HS_VOLTORB_1 ; 4D
+ const HS_VOLTORB_2 ; 4E
+ const HS_VOLTORB_3 ; 4F
+ const HS_ELECTRODE_1 ; 50
+ const HS_VOLTORB_4 ; 51
+ const HS_VOLTORB_5 ; 52
+ const HS_ELECTRODE_2 ; 53
+ const HS_VOLTORB_6 ; 54
+ const HS_ZAPDOS ; 55
+ const HS_POWER_PLANT_ITEM_1 ; 56
+ const HS_POWER_PLANT_ITEM_2 ; 57
+ const HS_POWER_PLANT_ITEM_3 ; 58
+ const HS_POWER_PLANT_ITEM_4 ; 59
+ const HS_POWER_PLANT_ITEM_5 ; 5A
+ const HS_MOLTRES ; 5B
+ const HS_VICTORY_ROAD_2F_ITEM_1 ; 5C
+ const HS_VICTORY_ROAD_2F_ITEM_2 ; 5D
+ const HS_VICTORY_ROAD_2F_ITEM_3 ; 5E
+ const HS_VICTORY_ROAD_2F_ITEM_4 ; 5F
const HS_VICTORY_ROAD_2F_BOULDER ; 60
const HS_BILL_POKEMON ; 61
const HS_BILL_1 ; 62
const HS_BILL_2 ; 63
- const HS_VIRIDIAN_FOREST_ITEM_1 ; 64 X
- const HS_VIRIDIAN_FOREST_ITEM_2 ; 65 X
- const HS_VIRIDIAN_FOREST_ITEM_3 ; 66 X
- const HS_MT_MOON_1F_ITEM_1 ; 67 X
- const HS_MT_MOON_1F_ITEM_2 ; 68 X
- const HS_MT_MOON_1F_ITEM_3 ; 69 X
- const HS_MT_MOON_1F_ITEM_4 ; 6A X
- const HS_MT_MOON_1F_ITEM_5 ; 6B X
- const HS_MT_MOON_1F_ITEM_6 ; 6C X
- const HS_MT_MOON_B2F_FOSSIL_1 ; 6D
- const HS_MT_MOON_B2F_FOSSIL_2 ; 6E
- const HS_MT_MOON_B2F_ITEM_1 ; 6F X
- const HS_MT_MOON_B2F_ITEM_2 ; 70 X
- const HS_SS_ANNE_2F_RIVAL ; 71
- const HS_SS_ANNE_1F_ROOMS_ITEM ; 72 X
- const HS_SS_ANNE_2F_ROOMS_ITEM_1 ; 73 X
- const HS_SS_ANNE_2F_ROOMS_ITEM_2 ; 74 X
- const HS_SS_ANNE_B1F_ROOMS_ITEM_1 ; 75 X
- const HS_SS_ANNE_B1F_ROOMS_ITEM_2 ; 76 X
- const HS_SS_ANNE_B1F_ROOMS_ITEM_3 ; 77 X
- const HS_VICTORY_ROAD_3F_ITEM_1 ; 78 X
- const HS_VICTORY_ROAD_3F_ITEM_2 ; 79 X
- const HS_VICTORY_ROAD_3F_BOULDER ; 7A
- const HS_ROCKET_HIDEOUT_B1F_ITEM_1 ; 7B X
- const HS_ROCKET_HIDEOUT_B1F_ITEM_2 ; 7C X
- const HS_ROCKET_HIDEOUT_B2F_ITEM_1 ; 7D X
- const HS_ROCKET_HIDEOUT_B2F_ITEM_2 ; 7E X
- const HS_ROCKET_HIDEOUT_B2F_ITEM_3 ; 7F X
- const HS_ROCKET_HIDEOUT_B2F_ITEM_4 ; 80 X
- const HS_ROCKET_HIDEOUT_B3F_ITEM_1 ; 81 X
- const HS_ROCKET_HIDEOUT_B3F_ITEM_2 ; 82 X
- const HS_ROCKET_HIDEOUT_B4F_GIOVANNI ; 83
- const HS_ROCKET_HIDEOUT_B4F_ITEM_1 ; 84 X
- const HS_ROCKET_HIDEOUT_B4F_ITEM_2 ; 85 X
- const HS_ROCKET_HIDEOUT_B4F_ITEM_3 ; 86 X
- const HS_ROCKET_HIDEOUT_B4F_ITEM_4 ; 87
- const HS_ROCKET_HIDEOUT_B4F_ITEM_5 ; 88
- const HS_SILPH_CO_2F_1 ; 89 XXX never (de)activated?
- const HS_SILPH_CO_2F_2 ; 8A
- const HS_SILPH_CO_2F_3 ; 8B
- const HS_SILPH_CO_2F_4 ; 8C
- const HS_SILPH_CO_2F_5 ; 8D
- const HS_SILPH_CO_3F_1 ; 8E
- const HS_SILPH_CO_3F_2 ; 8F
- const HS_SILPH_CO_3F_ITEM ; 90 X
- const HS_SILPH_CO_4F_1 ; 91
- const HS_SILPH_CO_4F_2 ; 92
- const HS_SILPH_CO_4F_3 ; 93
- const HS_SILPH_CO_4F_ITEM_1 ; 94 X
- const HS_SILPH_CO_4F_ITEM_2 ; 95 X
- const HS_SILPH_CO_4F_ITEM_3 ; 96 X
- const HS_SILPH_CO_5F_1 ; 97
- const HS_SILPH_CO_5F_2 ; 98
- const HS_SILPH_CO_5F_3 ; 99
- const HS_SILPH_CO_5F_4 ; 9A
- const HS_SILPH_CO_5F_ITEM_1 ; 9B X
- const HS_SILPH_CO_5F_ITEM_2 ; 9C X
- const HS_SILPH_CO_5F_ITEM_3 ; 9D X
- const HS_SILPH_CO_6F_1 ; 9E
- const HS_SILPH_CO_6F_2 ; 9F
- const HS_SILPH_CO_6F_3 ; A0
- const HS_SILPH_CO_6F_ITEM_1 ; A1 X
- const HS_SILPH_CO_6F_ITEM_2 ; A2 X
- const HS_SILPH_CO_7F_1 ; A3
- const HS_SILPH_CO_7F_2 ; A4
- const HS_SILPH_CO_7F_3 ; A5
- const HS_SILPH_CO_7F_4 ; A6
- const HS_SILPH_CO_7F_RIVAL ; A7
- const HS_SILPH_CO_7F_ITEM_1 ; A8 X
- const HS_SILPH_CO_7F_ITEM_2 ; A9 X
- const HS_SILPH_CO_7F_8 ; AA XXX sprite doesn't exist
- const HS_SILPH_CO_8F_1 ; AB
- const HS_SILPH_CO_8F_2 ; AC
- const HS_SILPH_CO_8F_3 ; AD
- const HS_SILPH_CO_9F_1 ; AE
- const HS_SILPH_CO_9F_2 ; AF
- const HS_SILPH_CO_9F_3 ; B0
- const HS_SILPH_CO_10F_1 ; B1
- const HS_SILPH_CO_10F_2 ; B2
- const HS_SILPH_CO_10F_3 ; B3 XXX never (de)activated?
- const HS_SILPH_CO_10F_ITEM_1 ; B4 X
- const HS_SILPH_CO_10F_ITEM_2 ; B5 X
- const HS_SILPH_CO_10F_ITEM_3 ; B6 X
- const HS_SILPH_CO_11F_1 ; B7
- const HS_SILPH_CO_11F_2 ; B8
- const HS_SILPH_CO_11F_3 ; B9
- const HS_UNUSED_MAP_F4_1 ; BA XXX sprite doesn't exist
- const HS_POKEMON_MANSION_2F_ITEM ; BB X
- const HS_POKEMON_MANSION_3F_ITEM_1 ; BC X
- const HS_POKEMON_MANSION_3F_ITEM_2 ; BD X
- const HS_POKEMON_MANSION_B1F_ITEM_1 ; BE X
- const HS_POKEMON_MANSION_B1F_ITEM_2 ; BF X
- const HS_POKEMON_MANSION_B1F_ITEM_3 ; C0 X
- const HS_POKEMON_MANSION_B1F_ITEM_4 ; C1 X
- const HS_POKEMON_MANSION_B1F_ITEM_5 ; C2 X
- const HS_SAFARI_ZONE_EAST_ITEM_1 ; C3 X
- const HS_SAFARI_ZONE_EAST_ITEM_2 ; C4 X
- const HS_SAFARI_ZONE_EAST_ITEM_3 ; C5 X
- const HS_SAFARI_ZONE_EAST_ITEM_4 ; C6 X
- const HS_SAFARI_ZONE_NORTH_ITEM_1 ; C7 X
- const HS_SAFARI_ZONE_NORTH_ITEM_2 ; C8 X
- const HS_SAFARI_ZONE_WEST_ITEM_1 ; C9 X
- const HS_SAFARI_ZONE_WEST_ITEM_2 ; CA X
- const HS_SAFARI_ZONE_WEST_ITEM_3 ; CB X
- const HS_SAFARI_ZONE_WEST_ITEM_4 ; CC X
- const HS_SAFARI_ZONE_CENTER_ITEM ; CD X
- const HS_CERULEAN_CAVE_2F_ITEM_1 ; CE X
- const HS_CERULEAN_CAVE_2F_ITEM_2 ; CF X
- const HS_CERULEAN_CAVE_2F_ITEM_3 ; D0 X
- const HS_MEWTWO ; D1 X
- const HS_CERULEAN_CAVE_B1F_ITEM_1 ; D2 X
- const HS_CERULEAN_CAVE_B1F_ITEM_2 ; D3 X
- const HS_VICTORY_ROAD_1F_ITEM_1 ; D4 X
- const HS_VICTORY_ROAD_1F_ITEM_2 ; D5 X
- const HS_CHAMPIONS_ROOM_OAK ; D6
- const HS_SEAFOAM_ISLANDS_1F_BOULDER_1 ; D7
- const HS_SEAFOAM_ISLANDS_1F_BOULDER_2 ; D8
- const HS_SEAFOAM_ISLANDS_B1F_BOULDER_1 ; D9
- const HS_SEAFOAM_ISLANDS_B1F_BOULDER_2 ; DA
- const HS_SEAFOAM_ISLANDS_B2F_BOULDER_1 ; DB
- const HS_SEAFOAM_ISLANDS_B2F_BOULDER_2 ; DC
- const HS_SEAFOAM_ISLANDS_B3F_BOULDER_1 ; DD
- const HS_SEAFOAM_ISLANDS_B3F_BOULDER_2 ; DE
- const HS_SEAFOAM_ISLANDS_B3F_BOULDER_3 ; DF
- const HS_SEAFOAM_ISLANDS_B3F_BOULDER_4 ; E0
- const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1
- const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2
- const HS_ARTICUNO ; E3 X
+ const HS_VIRIDIAN_FOREST_ITEM_1 ; 64
+ const HS_VIRIDIAN_FOREST_ITEM_2 ; 65
+ const HS_VIRIDIAN_FOREST_ITEM_3 ; 66
+ const HS_MT_MOON_1F_ITEM_1 ; 67
+ const HS_MT_MOON_1F_ITEM_2 ; 68
+ const HS_MT_MOON_1F_ITEM_3 ; 69
+ const HS_MT_MOON_1F_ITEM_4 ; 6A
+ const HS_MT_MOON_1F_ITEM_5 ; 6B
+ const HS_MT_MOON_1F_ITEM_6 ; 6C
+ const HS_MT_MOON_B2F_JESSIE ; 6D
+ const HS_MT_MOON_B2F_JAMES ; 6E
+ const HS_MT_MOON_B2F_FOSSIL_1 ; 6F
+ const HS_MT_MOON_B2F_FOSSIL_2 ; 70
+ const HS_MT_MOON_B2F_ITEM_1 ; 71
+ const HS_MT_MOON_B2F_ITEM_2 ; 72
+ const HS_SS_ANNE_2F_RIVAL ; 73
+ const HS_SS_ANNE_1F_ROOMS_ITEM ; 74
+ const HS_SS_ANNE_2F_ROOMS_ITEM_1 ; 75
+ const HS_SS_ANNE_2F_ROOMS_ITEM_2 ; 76
+ const HS_SS_ANNE_B1F_ROOMS_ITEM_1 ; 77
+ const HS_SS_ANNE_B1F_ROOMS_ITEM_2 ; 78
+ const HS_SS_ANNE_B1F_ROOMS_ITEM_3 ; 79
+ const HS_VICTORY_ROAD_3F_ITEM_1 ; 7A
+ const HS_VICTORY_ROAD_3F_ITEM_2 ; 7B
+ const HS_VICTORY_ROAD_3F_BOULDER ; 7C
+ const HS_ROCKET_HIDEOUT_B1F_ITEM_1 ; 7D
+ const HS_ROCKET_HIDEOUT_B1F_ITEM_2 ; 7E
+ const HS_ROCKET_HIDEOUT_B2F_ITEM_1 ; 7F
+ const HS_ROCKET_HIDEOUT_B2F_ITEM_2 ; 80
+ const HS_ROCKET_HIDEOUT_B2F_ITEM_3 ; 81
+ const HS_ROCKET_HIDEOUT_B2F_ITEM_4 ; 82
+ const HS_ROCKET_HIDEOUT_B3F_ITEM_1 ; 83
+ const HS_ROCKET_HIDEOUT_B3F_ITEM_2 ; 84
+ const HS_ROCKET_HIDEOUT_B4F_GIOVANNI ; 85
+ const HS_ROCKET_HIDEOUT_B4F_JAMES ; 86
+ const HS_ROCKET_HIDEOUT_B4F_JESSIE ; 87
+ const HS_ROCKET_HIDEOUT_B4F_ITEM_1 ; 88
+ const HS_ROCKET_HIDEOUT_B4F_ITEM_2 ; 89
+ const HS_ROCKET_HIDEOUT_B4F_ITEM_3 ; 8A
+ const HS_ROCKET_HIDEOUT_B4F_ITEM_4 ; 8B
+ const HS_ROCKET_HIDEOUT_B4F_ITEM_5 ; 8C
+ const HS_SILPH_CO_2F_1 ; 8D XXX never (de)activated?
+ const HS_SILPH_CO_2F_2 ; 8E
+ const HS_SILPH_CO_2F_3 ; 8F
+ const HS_SILPH_CO_2F_4 ; 90
+ const HS_SILPH_CO_2F_5 ; 91
+ const HS_SILPH_CO_3F_1 ; 92
+ const HS_SILPH_CO_3F_2 ; 93
+ const HS_SILPH_CO_3F_ITEM ; 94
+ const HS_SILPH_CO_4F_1 ; 95
+ const HS_SILPH_CO_4F_2 ; 96
+ const HS_SILPH_CO_4F_3 ; 97
+ const HS_SILPH_CO_4F_ITEM_1 ; 98
+ const HS_SILPH_CO_4F_ITEM_2 ; 99
+ const HS_SILPH_CO_4F_ITEM_3 ; 9A
+ const HS_SILPH_CO_5F_1 ; 9B
+ const HS_SILPH_CO_5F_2 ; 9C
+ const HS_SILPH_CO_5F_3 ; 9D
+ const HS_SILPH_CO_5F_4 ; 9E
+ const HS_SILPH_CO_5F_ITEM_1 ; 9F
+ const HS_SILPH_CO_5F_ITEM_2 ; A0
+ const HS_SILPH_CO_5F_ITEM_3 ; A1
+ const HS_SILPH_CO_6F_1 ; A2
+ const HS_SILPH_CO_6F_2 ; A3
+ const HS_SILPH_CO_6F_3 ; A4
+ const HS_SILPH_CO_6F_ITEM_1 ; A5
+ const HS_SILPH_CO_6F_ITEM_2 ; A6
+ const HS_SILPH_CO_7F_1 ; A7
+ const HS_SILPH_CO_7F_2 ; A8
+ const HS_SILPH_CO_7F_3 ; A9
+ const HS_SILPH_CO_7F_4 ; AA
+ const HS_SILPH_CO_7F_RIVAL ; AB
+ const HS_SILPH_CO_7F_ITEM_1 ; AC
+ const HS_SILPH_CO_7F_ITEM_2 ; AD
+ const HS_SILPH_CO_7F_8 ; AE XXX sprite doesn't exist
+ const HS_SILPH_CO_8F_1 ; AF
+ const HS_SILPH_CO_8F_2 ; B0
+ const HS_SILPH_CO_8F_3 ; B1
+ const HS_SILPH_CO_9F_1 ; B2
+ const HS_SILPH_CO_9F_2 ; B3
+ const HS_SILPH_CO_9F_3 ; B4
+ const HS_SILPH_CO_10F_1 ; B5
+ const HS_SILPH_CO_10F_2 ; B6
+ const HS_SILPH_CO_10F_3 ; B7 XXX never (de)activated?
+ const HS_SILPH_CO_10F_ITEM_1 ; B8
+ const HS_SILPH_CO_10F_ITEM_2 ; B9
+ const HS_SILPH_CO_10F_ITEM_3 ; BA
+ const HS_SILPH_CO_11F_1 ; BB
+ const HS_SILPH_CO_11F_JAMES ; BC
+ const HS_SILPH_CO_11F_2 ; BD
+ const HS_SILPH_CO_11F_JESSIE ; BE
+ const HS_UNUSED_MAP_F4_1 ; BF XXX sprite doesn't exist
+ const HS_POKEMON_MANSION_2F_ITEM ; C0
+ const HS_POKEMON_MANSION_3F_ITEM_1 ; C1
+ const HS_POKEMON_MANSION_3F_ITEM_2 ; C2
+ const HS_POKEMON_MANSION_B1F_ITEM_1 ; C3
+ const HS_POKEMON_MANSION_B1F_ITEM_2 ; C4
+ const HS_POKEMON_MANSION_B1F_ITEM_3 ; C5
+ const HS_POKEMON_MANSION_B1F_ITEM_4 ; C6
+ const HS_POKEMON_MANSION_B1F_ITEM_5 ; C7
+ const HS_SAFARI_ZONE_EAST_ITEM_1 ; C8
+ const HS_SAFARI_ZONE_EAST_ITEM_2 ; C9
+ const HS_SAFARI_ZONE_EAST_ITEM_3 ; CA
+ const HS_SAFARI_ZONE_EAST_ITEM_4 ; CB
+ const HS_SAFARI_ZONE_NORTH_ITEM_1 ; CC
+ const HS_SAFARI_ZONE_NORTH_ITEM_2 ; CD
+ const HS_SAFARI_ZONE_WEST_ITEM_1 ; CE
+ const HS_SAFARI_ZONE_WEST_ITEM_2 ; CF
+ const HS_SAFARI_ZONE_WEST_ITEM_3 ; D0
+ const HS_SAFARI_ZONE_WEST_ITEM_4 ; D1
+ const HS_SAFARI_ZONE_CENTER_ITEM ; D2
+ const HS_CERULEAN_CAVE_2F_ITEM_1 ; D3
+ const HS_CERULEAN_CAVE_2F_ITEM_2 ; D4
+ const HS_CERULEAN_CAVE_2F_ITEM_3 ; D5
+ const HS_CERULEAN_CAVE_2F_ITEM_4 ; D6
+ const HS_MEWTWO ; D7
+ const HS_CERULEAN_CAVE_B1F_ITEM_1 ; D8
+ const HS_CERULEAN_CAVE_B1F_ITEM_2 ; D9
+ const HS_CERULEAN_CAVE_B1F_ITEM_3 ; DA
+ const HS_CERULEAN_CAVE_B1F_ITEM_4 ; DB
+ const HS_VICTORY_ROAD_1F_ITEM_1 ; DC
+ const HS_VICTORY_ROAD_1F_ITEM_2 ; DD
+ const HS_CHAMPIONS_ROOM_OAK ; DE
+ const HS_SEAFOAM_ISLANDS_1F_BOULDER_1 ; DF
+ const HS_SEAFOAM_ISLANDS_1F_BOULDER_2 ; E0
+ const HS_SEAFOAM_ISLANDS_B1F_BOULDER_1 ; E1
+ const HS_SEAFOAM_ISLANDS_B1F_BOULDER_2 ; E2
+ const HS_SEAFOAM_ISLANDS_B2F_BOULDER_1 ; E3
+ const HS_SEAFOAM_ISLANDS_B2F_BOULDER_2 ; E4
+ const HS_SEAFOAM_ISLANDS_B3F_BOULDER_1 ; E5
+ const HS_SEAFOAM_ISLANDS_B3F_BOULDER_2 ; E6
+ const HS_SEAFOAM_ISLANDS_B3F_BOULDER_3 ; E7
+ const HS_SEAFOAM_ISLANDS_B3F_BOULDER_4 ; E8
+ const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E9
+ const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; EA
+ const HS_ARTICUNO ; EB
+ const HS_DAISY_SITTING_COPY ; EC
+ const HS_DAISY_WALKING_COPY ; ED
+ const HS_TOWN_MAP_COPY ; EE
diff --git a/constants/icon_constants.asm b/constants/icon_constants.asm
index 14202da3..bc73632e 100644
--- a/constants/icon_constants.asm
+++ b/constants/icon_constants.asm
@@ -11,6 +11,7 @@
const ICON_GRASS ; $7
const ICON_SNAKE ; $8
const ICON_QUADRUPED ; $9
+ const ICON_PIKACHU ; $A
ICON_TRADEBUBBLE EQU $e
diff --git a/constants/item_constants.asm b/constants/item_constants.asm
index d0c25202..4cbc8534 100644
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -225,3 +225,6 @@ NUM_TM_HM EQU NUM_TMS + NUM_HMS
; These fit in 7 bytes, with one unused bit left over.
__tmhm_value__ = NUM_TM_HM + 1
UNUSED_TMNUM EQU __tmhm_value__
+
+; used for Time Capsule held item compatibility
+TWISTEDSPOON_GSC EQU $60
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index d33ffe12..b495552d 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -81,7 +81,7 @@ FIRST_INDOOR_MAP EQU const_value
mapconst MT_MOON_B1F, 14, 14 ; $3C
mapconst MT_MOON_B2F, 18, 20 ; $3D
mapconst CERULEAN_TRASHED_HOUSE, 4, 4 ; $3E
- mapconst CERULEAN_TRADE_HOUSE, 4, 4 ; $3F
+ mapconst CERULEAN_MELANIES_HOUSE, 4, 4 ; $3F
mapconst CERULEAN_POKECENTER, 4, 7 ; $40
mapconst CERULEAN_GYM, 7, 5 ; $41
mapconst BIKE_SHOP, 4, 4 ; $42
@@ -266,6 +266,7 @@ FIRST_INDOOR_MAP EQU const_value
mapconst LORELEIS_ROOM, 6, 5 ; $F5
mapconst BRUNOS_ROOM, 6, 5 ; $F6
mapconst AGATHAS_ROOM, 6, 5 ; $F7
+ mapconst SUMMER_BEACH_HOUSE, 4, 7 ; $F8
; Indoor maps, such as houses, use this as the Map ID in their exit warps
; This map ID takes the player back to the last outdoor map they were on, stored in wLastMap
diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm
index 5b81300f..4c6d0c38 100644
--- a/constants/move_effect_constants.asm
+++ b/constants/move_effect_constants.asm
@@ -39,7 +39,7 @@
const SLEEP_EFFECT ; $20
const POISON_SIDE_EFFECT2 ; $21
const BURN_SIDE_EFFECT2 ; $22
- const_skip ; $23
+ const UNUSED_EFFECT_23 ; $23
const PARALYZE_SIDE_EFFECT2 ; $24
const FLINCH_SIDE_EFFECT2 ; $25
const OHKO_EFFECT ; $26 moves like Horn Drill
diff --git a/constants/music_constants.asm b/constants/music_constants.asm
index fcca9005..46955712 100644
--- a/constants/music_constants.asm
+++ b/constants/music_constants.asm
@@ -45,7 +45,7 @@ ENDM
music_const MUSIC_BIKE_RIDING, Music_BikeRiding
music_const MUSIC_SURFING, Music_Surfing
music_const MUSIC_GAME_CORNER, Music_GameCorner
- music_const MUSIC_INTRO_BATTLE, Music_IntroBattle
+ music_const MUSIC_YELLOW_INTRO, Music_YellowIntro
music_const MUSIC_DUNGEON1, Music_Dungeon1
music_const MUSIC_DUNGEON2, Music_Dungeon2
music_const MUSIC_DUNGEON3, Music_Dungeon3
@@ -56,7 +56,13 @@ ENDM
music_const MUSIC_MEET_FEMALE_TRAINER, Music_MeetFemaleTrainer
music_const MUSIC_MEET_MALE_TRAINER, Music_MeetMaleTrainer
- ; AUDIO_1 AUDIO_2 AUDIO_3
+ ; AUDIO_4
+ music_const MUSIC_SURFING_PIKACHU, Music_SurfingPikachu
+ music_const MUSIC_MEET_JESSIE_JAMES, Music_MeetJessieJames
+ music_const MUSIC_YELLOW_UNUSED_SONG, Music_YellowUnusedSong
+ music_const MUSIC_GB_PRINTER, Music_GBPrinter
+
+ ; AUDIO_1 AUDIO_2 AUDIO_3 AUDIO_4
NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01"
music_const SFX_NOISE_INSTRUMENT01, SFX_Noise_Instrument01_1
music_const SFX_NOISE_INSTRUMENT02, SFX_Noise_Instrument02_1
@@ -127,9 +133,10 @@ CRY_SFX_END EQUS "SFX_CRY_25 + 3"
music_const SFX_START_MENU, SFX_Start_Menu_1
music_const SFX_PRESS_AB, SFX_Press_AB_1
- ; AUDIO_1 AUDIO_3
+ ; AUDIO_1 AUDIO_3 AUDIO_4
music_const SFX_GET_ITEM_1, SFX_Get_Item1_1
+ ; AUDIO_1 AUDIO_3
music_const SFX_POKEDEX_RATING, SFX_Pokedex_Rating_1
music_const SFX_GET_KEY_ITEM, SFX_Get_Key_Item_1
music_const SFX_POISONED, SFX_Poisoned_1
@@ -241,4 +248,13 @@ MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE"
music_const SFX_SHOOTING_STAR, SFX_Shooting_Star
MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR"
+ ; AUDIO_4
+ music_const SFX_SURFING_JUMP, SFX_Surfing_Jump
+ music_const SFX_SURFING_FLIP, SFX_Surfing_Flip
+ music_const SFX_SURFING_CRASH, SFX_Surfing_Crash
+ music_const SFX_UNKNOWN_802CC_4, SFX_802cc_4
+ music_const SFX_SURFING_LAND, SFX_Surfing_Land
+ music_const SFX_GET_ITEM2_4_2, SFX_Get_Item2_4_2
+MAX_SFX_ID_4 EQUS "SFX_GET_ITEM2_4_2 + 2"
+
SFX_STOP_ALL_MUSIC EQU $ff
diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm
index be63dc24..0b783d8b 100644
--- a/constants/oam_constants.asm
+++ b/constants/oam_constants.asm
@@ -11,6 +11,7 @@ OAM_Y_FLIP EQU 6
OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
; OAM attribute masks
+OAM_HIGH_PALS EQU 1 << 2 ; palettes %100-%111 are OBP1
OAM_OBP1 EQU 1 << OAM_OBP_NUM ; OBJ palette 1
OAM_HFLIP EQU 1 << OAM_X_FLIP ; horizontal flip
OAM_VFLIP EQU 1 << OAM_Y_FLIP ; vertical flip
diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm
index 177f8b81..00b5748d 100644
--- a/constants/palette_constants.asm
+++ b/constants/palette_constants.asm
@@ -9,6 +9,8 @@ NUM_PAL_COLORS EQU const_value
PAL_COLOR_SIZE EQU 2
PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
+NUM_ACTIVE_PALS EQU 4
+
; pal/blk packets
; SetPalFunctions indexes (see engine/gfx/palettes.asm)
const_def
@@ -70,3 +72,6 @@ SET_PAL_DEFAULT EQU $ff
const PAL_BADGE ; $22
const PAL_CAVE ; $23
const PAL_GAMEFREAK ; $24
+ const PAL_25 ; $25
+ const PAL_26 ; $26
+ const PAL_27 ; $27
diff --git a/constants/pikachu_emotion_constants.asm b/constants/pikachu_emotion_constants.asm
new file mode 100644
index 00000000..f9298f16
--- /dev/null
+++ b/constants/pikachu_emotion_constants.asm
@@ -0,0 +1,229 @@
+; pikachu happiness modifiers
+ const_def 1
+ const PIKAHAPPY_LEVELUP
+ const PIKAHAPPY_USEDITEM
+ const PIKAHAPPY_USEDXITEM
+ const PIKAHAPPY_GYMLEADER
+ const PIKAHAPPY_USEDTMHM
+ const PIKAHAPPY_WALKING
+ const PIKAHAPPY_DEPOSITED
+ const PIKAHAPPY_FAINTED
+ const PIKAHAPPY_PSNFNT
+ const PIKAHAPPY_CARELESSTRAINER
+ const PIKAHAPPY_TRADE
+
+dpikapic: MACRO
+ db (\1_id - PikaPicAnimPointers) / 2
+ENDM
+
+dpikaemotion: MACRO
+ db (\1_id - PikachuEmotionTable) / 2
+ENDM
+
+ldpikaemotion: MACRO
+ ld \1, (\2_id - PikachuEmotionTable) / 2
+ENDM
+
+; Starter Pikachu emotion commands constants
+
+ const_def
+ const PIKAEMOTION_DUMMY1
+ const PIKAEMOTION_PRINTTEXT
+ const PIKAEMOTION_PLAYPCMSOUNDCLIP
+ const PIKAEMOTION_DOEMOTIONBUBBLE
+ const PIKAEMOTION_4
+ const PIKAEMOTION_5
+ const PIKAEMOTION_SUBCMD
+ const PIKAEMOTION_DELAYFRAMES
+ const PIKAEMOTION_DUMMY2
+ const PIKAEMOTION_9
+ const PIKAEMOTION_DUMMY3
+
+ const_def
+ const PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES
+ const PIKAEMOTION_SUBCMD_LOADFONT
+ const PIKAEMOTION_SUBCMD_SHOWMAPVIEW
+ const PIKAEMOTION_SUBCMD_WAITBUTTONPRESS
+ const PIKAEMOTION_SUBCMD_CHECKPEWTERCENTER
+ const PIKAEMOTION_SUBCMD_CHECKLAVENDERTOWER
+ const PIKAEMOTION_SUBCMD_CHECKBILLSHOUSE
+
+ const_def
+ const PIKASTEPDIR_DOWN
+ const PIKASTEPDIR_UP
+ const PIKASTEPDIR_LEFT
+ const PIKASTEPDIR_RIGHT
+ const PIKASTEPDIR_DOWN_LEFT
+ const PIKASTEPDIR_DOWN_RIGHT
+ const PIKASTEPDIR_UP_LEFT
+ const PIKASTEPDIR_UP_RIGHT
+
+
+; MACROs for commands
+pikaemotion_dummy1: MACRO
+ db PIKAEMOTION_DUMMY1
+ENDM
+
+pikaemotion_printtext: MACRO
+ db PIKAEMOTION_PRINTTEXT
+ dw \1
+ENDM
+
+pikaemotion_pcm: MACRO
+ db PIKAEMOTION_PLAYPCMSOUNDCLIP
+IF _NARG > 0
+ dpikacry \1
+ELSE
+ db $ff
+ENDC
+ENDM
+
+pikaemotion_emotebubble: MACRO
+ db PIKAEMOTION_DOEMOTIONBUBBLE
+ db \1
+ENDM
+
+pikaemotion_movement: MACRO
+ db PIKAEMOTION_4
+ dw \1
+ENDM
+
+pikaemotion_pikapic: MACRO
+ db PIKAEMOTION_5
+ dpikapic \1
+ENDM
+
+pikaemotion_subcmd: MACRO
+ db PIKAEMOTION_SUBCMD
+ db \1
+ENDM
+
+pikaemotion_delay: MACRO
+ db PIKAEMOTION_DELAYFRAMES
+ db \1
+ENDM
+
+pikaemotion_dummy2: MACRO
+ db PIKAEMOTION_DUMMY2
+ENDM
+
+pikaemotion_9: MACRO
+ db PIKAEMOTION_9
+ENDM
+
+pikaemotion_dummy3: MACRO
+ db PIKAEMOTION_DUMMY3
+ENDM
+
+pikacry_def: MACRO
+\1_id::
+ dba \1
+ENDM
+
+dpikacry: MACRO
+ db (\1_id - PikachuCriesPointerTable) / 3
+ENDM
+
+ldpikacry: MACRO
+ ld \1, (\2_id - PikachuCriesPointerTable) / 3
+ENDM
+
+pikacry: MACRO
+ ldpikacry a, \1
+ENDM
+
+
+ const_def
+ const pikapic_nop_command
+pikapic_nop: MACRO
+ db pikapic_nop_command
+ENDM
+
+ const pikapic_writebyte_command
+pikapic_writebyte: MACRO
+ db pikapic_writebyte_command
+ db \1
+ENDM
+
+ const pikapic_loadgfx_command
+pikapic_loadgfx: MACRO
+ db pikapic_loadgfx_command
+ db (\1_id - PikaPicAnimGFXHeaders) / 4
+ENDM
+
+ const pikapic_animation_command
+pikapic_animation: MACRO
+ ; frameset pointer, starting vtile, y offset, x offset
+ db pikapic_animation_command
+ db (\1_id - PikaPicAnimBGFramesPointers) / 2
+ db 0, \2, \3, \4
+ENDM
+
+ const pikapic_nop4_command
+pikapic_nop4: MACRO
+ db pikapic_nop4_command
+ENDM
+
+ const pikapic_nop5_command
+pikapic_nop5: MACRO
+ db pikapic_nop5_command
+ENDM
+
+ const pikapic_waitbgmapeleteobject_command
+pikapic_waitbgmapeleteobject: MACRO
+ db pikapic_waitbgmapeleteobject_command
+ db \1
+ENDM
+
+ const pikapic_nop7_command
+pikapic_nop7: MACRO
+ db pikapic_nop7_command
+ENDM
+
+ const pikapic_nop8_command
+pikapic_nop8: MACRO
+ db pikapic_nop8_command
+ENDM
+
+ const pikapic_jump_command
+pikapic_jump: MACRO ; 9
+ db pikapic_jump_command
+ dw \1
+ENDM
+
+ const pikapic_setduration_command
+pikapic_setduration: MACRO ; a
+ db pikapic_setduration_command
+ dw \1
+ENDM
+
+ const pikapic_cry_command
+pikapic_cry: MACRO ; b
+ db pikapic_cry_command
+IF _NARG == 0
+ db $ff
+else
+ dpikacry \1
+ endc
+ENDM
+
+ const pikapic_thunderbolt_command
+pikapic_thunderbolt: MACRO ; c
+ db pikapic_thunderbolt_command
+ENDM
+
+ const pikapic_waitbgmap_command
+pikapic_waitbgmap: MACRO ; d
+ db pikapic_waitbgmap_command
+ENDM
+
+ const pikapic_ret_command
+pikapic_ret: MACRO ; e
+ db pikapic_ret_command
+ENDM
+
+pikapic_looptofinish: MACRO
+.loop\@
+ pikapic_waitbgmap
+ pikapic_jump .loop\@
+ENDM
diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm
index d01398b8..f5c1c7b8 100644
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -200,10 +200,13 @@
NUM_POKEMON_INDEXES EQU const_value - 1
-; starters
-STARTER1 EQU CHARMANDER
-STARTER2 EQU SQUIRTLE
-STARTER3 EQU BULBASAUR
+; player starter
+STARTER_PIKACHU EQU PIKACHU
+
+; rival starters
+RIVAL_STARTER_JOLTEON EQU 1
+RIVAL_STARTER_FLAREON EQU 2
+RIVAL_STARTER_VAPOREON EQU 3
; ghost Marowak in Pokémon Tower
RESTLESS_SOUL EQU MAROWAK
diff --git a/constants/script_constants.asm b/constants/script_constants.asm
index b651a76d..e7d23e97 100644
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -3,6 +3,11 @@
const EXCLAMATION_BUBBLE ; 0
const QUESTION_BUBBLE ; 1
const SMILE_BUBBLE ; 2
+ const SKULL_BUBBLE ; 3
+ const HEART_BUBBLE ; 4
+ const BOLT_BUBBLE ; 5
+ const ZZZ_BUBBLE ; 6
+ const FISH_BUBBLE ; 7
; slot symbols
SLOTS7 EQU $0200
diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm
new file mode 100644
index 00000000..f5a90ab9
--- /dev/null
+++ b/constants/sprite_anim_constants.asm
@@ -0,0 +1,17 @@
+; animated_object struct members (see macros/wram.asm)
+ANIM_OBJ_INDEX EQUS "wAnimatedObject0Index - wAnimatedObject0"
+ANIM_OBJ_FRAME_SET EQUS "wAnimatedObject0FramesetID - wAnimatedObject0"
+ANIM_OBJ_CALLBACK EQUS "wAnimatedObject0AnimSeqID - wAnimatedObject0"
+ANIM_OBJ_TILE EQUS "wAnimatedObject0TileID - wAnimatedObject0"
+ANIM_OBJ_X_COORD EQUS "wAnimatedObject0XCoord - wAnimatedObject0"
+ANIM_OBJ_Y_COORD EQUS "wAnimatedObject0YCoord - wAnimatedObject0"
+ANIM_OBJ_X_OFFSET EQUS "wAnimatedObject0XOffset - wAnimatedObject0"
+ANIM_OBJ_Y_OFFSET EQUS "wAnimatedObject0YOffset - wAnimatedObject0"
+ANIM_OBJ_DURATION EQUS "wAnimatedObject0Duration - wAnimatedObject0"
+ANIM_OBJ_DURATION_OFFSET EQUS "wAnimatedObject0DurationOffset - wAnimatedObject0"
+ANIM_OBJ_FRAME_IDX EQUS "wAnimatedObject0FrameIndex - wAnimatedObject0"
+ANIM_OBJ_FIELD_B EQUS "wAnimatedObject0FieldB - wAnimatedObject0"
+ANIM_OBJ_FIELD_C EQUS "wAnimatedObject0FieldC - wAnimatedObject0"
+ANIM_OBJ_FIELD_D EQUS "wAnimatedObject0FieldD - wAnimatedObject0"
+ANIM_OBJ_FIELD_E EQUS "wAnimatedObject0FieldE - wAnimatedObject0"
+ANIM_OBJ_FIELD_F EQUS "wAnimatedObject0FieldF - wAnimatedObject0"
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
index a4354996..2613f707 100644
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -32,7 +32,7 @@
const SPRITE_MIDDLE_AGED_WOMAN ; $1c
const SPRITE_BRUNETTE_GIRL ; $1d
const SPRITE_LANCE ; $1e
- const SPRITE_UNUSED_SCIENTIST ; $1f
+ const SPRITE_UNUSED_RED_1 ; $1f
const SPRITE_SCIENTIST ; $20
const SPRITE_ROCKER ; $21
const SPRITE_SWIMMER ; $22
@@ -51,27 +51,37 @@
const SPRITE_FISHER ; $2f
const SPRITE_KOGA ; $30
const SPRITE_GUARD ; $31
- const SPRITE_UNUSED_GUARD ; $32
+ const SPRITE_UNUSED_RED_2 ; $32
const SPRITE_MOM ; $33
const SPRITE_BALDING_GUY ; $34
const SPRITE_LITTLE_BOY ; $35
- const SPRITE_UNUSED_GAMEBOY_KID ; $36
+ const SPRITE_UNUSED_RED_3 ; $36
const SPRITE_GAMEBOY_KID ; $37
const SPRITE_FAIRY ; $38
const SPRITE_AGATHA ; $39
const SPRITE_BRUNO ; $3a
const SPRITE_LORELEI ; $3b
const SPRITE_SEEL ; $3c
+ const SPRITE_PIKACHU ; $3d
+ const SPRITE_OFFICER_JENNY ; $3e
+ const SPRITE_SANDSHREW ; $3f
+ const SPRITE_ODDISH ; $40
+ const SPRITE_BULBASAUR ; $41
+ const SPRITE_JIGGLYPUFF ; $42
+ const SPRITE_CLEFAIRY ; $43
+ const SPRITE_CHANSEY ; $44
+ const SPRITE_JESSIE ; $45
+ const SPRITE_JAMES ; $46
FIRST_STILL_SPRITE EQU const_value
- const SPRITE_POKE_BALL ; $3d
- const SPRITE_FOSSIL ; $3e
- const SPRITE_BOULDER ; $3f
- const SPRITE_PAPER ; $40
- const SPRITE_POKEDEX ; $41
- const SPRITE_CLIPBOARD ; $42
- const SPRITE_SNORLAX ; $43
- const SPRITE_UNUSED_OLD_AMBER ; $44
- const SPRITE_OLD_AMBER ; $45
- const SPRITE_UNUSED_GAMBLER_ASLEEP_1 ; $46
- const SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; $47
- const SPRITE_GAMBLER_ASLEEP ; $48
+ const SPRITE_POKE_BALL ; $47
+ const SPRITE_FOSSIL ; $48
+ const SPRITE_BOULDER ; $49
+ const SPRITE_PAPER ; $4a
+ const SPRITE_POKEDEX ; $4b
+ const SPRITE_CLIPBOARD ; $4c
+ const SPRITE_SNORLAX ; $4d
+ const SPRITE_UNUSED_OLD_AMBER ; $4e
+ const SPRITE_OLD_AMBER ; $4f
+ const SPRITE_UNUSED_GAMBLER_ASLEEP_1 ; $50
+ const SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; $51
+ const SPRITE_GAMBLER_ASLEEP ; $52
diff --git a/constants/text_constants.asm b/constants/text_constants.asm
index aa8374e5..6a2ce9f6 100644
--- a/constants/text_constants.asm
+++ b/constants/text_constants.asm
@@ -17,5 +17,6 @@ LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES)
const TEXT_BLACKED_OUT ; $d1
const TEXT_REPEL_WORE_OFF ; $d2
const TEXT_SAFARI_GAME_OVER ; $d3
+ const TEXT_PIKACHU_ANIM ; $d4
TEXT_START_MENU EQU $00
diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm
index 95473081..3991ac4d 100644
--- a/constants/tileset_constants.asm
+++ b/constants/tileset_constants.asm
@@ -25,3 +25,4 @@
const CLUB ; 21
const FACILITY ; 22
const PLATEAU ; 23
+ const BEACH_HOUSE ; 24