summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemy Oukaour <remy.oukaour@gmail.com>2018-01-11 01:45:27 -0500
committerRemy Oukaour <remy.oukaour@gmail.com>2018-01-11 01:45:27 -0500
commitb45f89f80c62d22cbc2a4b38ae63a2da67878ee4 (patch)
tree1e3e32a19f964692480f8599fad621af70531743
parentcc8dac5a22a4f9307dd2f94e4bf29ee5b132c0b7 (diff)
More constants and data tables
-rw-r--r--constants/battle_constants.asm1
-rw-r--r--constants/item_data_constants.asm2
-rw-r--r--constants/map_data_constants.asm5
-rw-r--r--constants/radio_constants.asm3
-rw-r--r--constants/type_constants.asm10
-rw-r--r--data/elevator_floors.asm35
-rw-r--r--data/items/apricorn_balls.asm11
-rw-r--r--data/items/attributes.asm310
-rw-r--r--data/items/heal_hp.asm18
-rw-r--r--data/items/heal_status.asm18
-rw-r--r--data/items/x_stats.asm7
-rw-r--r--data/maps/sgb_roofs.asm32
-rw-r--r--data/phone/permanent_numbers.asm5
-rw-r--r--data/types/names.asm (renamed from data/type_names.asm)2
-rw-r--r--data/types/search_strings.asm21
-rw-r--r--data/types/search_types.asm20
-rw-r--r--data/unused_text/dakutens.asm15
-rwxr-xr-xengine/events/elevator.asm58
-rwxr-xr-xengine/events/magnet_train.asm31
-rw-r--r--engine/events/poisonstep_pals.asm1
-rw-r--r--engine/events/std_scripts.asm5
-rw-r--r--engine/item_effects.asm51
-rw-r--r--engine/map_objects.asm2
-rw-r--r--engine/menu_2.asm12
-rwxr-xr-xengine/namingscreen.asm16
-rw-r--r--engine/party_menu.asm62
-rw-r--r--engine/phone/phone.asm14
-rw-r--r--engine/pokedex.asm53
-rwxr-xr-xengine/pokegear.asm2
-rw-r--r--engine/sgb_layouts.asm48
-rw-r--r--engine/types.asm4
-rw-r--r--gfx/tilesets/roofs.pal8
32 files changed, 451 insertions, 431 deletions
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm
index 1feb37fe3..816625e60 100644
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -63,6 +63,7 @@ const_value set 1
const STAT_SATK
const STAT_SDEF
NUM_STATS EQU const_value
+STAT_SPC EQU STAT_SATK
; stat formula constants
STAT_MIN_NORMAL EQU 5
diff --git a/constants/item_data_constants.asm b/constants/item_data_constants.asm
index dfcff9eb0..ae08419f3 100644
--- a/constants/item_data_constants.asm
+++ b/constants/item_data_constants.asm
@@ -164,7 +164,7 @@ const_value set 70
; PartyMenuActionText values
-; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm)
+; GetPartyMenuQualityIndexes arguments (see engine/party_menu.asm)
const_def
const PARTYMENUACTION_CHOOSE_POKEMON
const PARTYMENUACTION_HEALING_ITEM
diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm
index 33a743a96..0fcb10146 100644
--- a/constants/map_data_constants.asm
+++ b/constants/map_data_constants.asm
@@ -244,6 +244,7 @@ NUM_TREEMON_SETS EQU const_value
EMOTE_MEM EQU -1
; FruitTreeItems indexes (see data/items/fruit_trees.asm)
+; used by fruittree command
const_value set 1
const FRUITTREE_ROUTE_29 ; 01
const FRUITTREE_ROUTE_30_1 ; 02
@@ -278,8 +279,8 @@ const_value set 1
NUM_FRUIT_TREES EQU const_value +- 1
-; elevator floors
-; used by elevfloor
+; ElevatorFloorNames indexes (see data/elevator_floors.asm)
+; used by elevfloor macro
const_def
const FLOOR_B4F
const FLOOR_B3F
diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm
index 8c7572910..03d4ede5a 100644
--- a/constants/radio_constants.asm
+++ b/constants/radio_constants.asm
@@ -1,7 +1,8 @@
; radio channel ids
; indexes for:
-; - PlayRadioShow/RadioJumptable (see engine/radio.asm)
; - RadioChannelSongs (see data/radio/channel_music.asm)
+; - PlayRadioShow/RadioJumptable (see engine/radio.asm)
+; - RadioChannels (see engine/radio.asm)
const_def
const OAKS_POKEMON_TALK ; 00
const POKEDEX_SHOW ; 01
diff --git a/constants/type_constants.asm b/constants/type_constants.asm
index c2cf2d709..6587c3a70 100644
--- a/constants/type_constants.asm
+++ b/constants/type_constants.asm
@@ -1,7 +1,8 @@
-; TypeNames indexes (see data/type_names.asm)
+; TypeNames indexes (see data/types/names.asm)
; also used in:
-; - TypeMatchups (see data/type_matchups.asm)
-; - Pokedex_SearchForMons.TypeConversionTable and Pokedex_PlaceSearchScreenTypeStrings.TypeStrings (see engine/pokedex.asm)
+; - PokedexTypeSearchConversionTable (see data/types/search_types.asm)
+; - PokedexTypeSearchStrings (see data/types/search_strings.asm)
+; - TypeMatchups (see data/battle/type_matchups.asm)
const_def
PHYSICAL EQU const_value
@@ -38,5 +39,6 @@ SPECIAL EQU const_value
const ICE
const DRAGON
const DARK
-
TYPES_END EQU const_value
+
+NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END
diff --git a/data/elevator_floors.asm b/data/elevator_floors.asm
new file mode 100644
index 000000000..abc793cf2
--- /dev/null
+++ b/data/elevator_floors.asm
@@ -0,0 +1,35 @@
+ElevatorFloorNames:
+; entries correspond to FLOOR_* constants
+ dw .B4F
+ dw .B3F
+ dw .B2F
+ dw .B1F
+ dw ._1F
+ dw ._2F
+ dw ._3F
+ dw ._4F
+ dw ._5F
+ dw ._6F
+ dw ._7F
+ dw ._8F
+ dw ._9F
+ dw ._10F
+ dw ._11F
+ dw .ROOF
+
+.B4F: db "B4F@"
+.B3F: db "B3F@"
+.B2F: db "B2F@"
+.B1F: db "B1F@"
+._1F: db "1F@"
+._2F: db "2F@"
+._3F: db "3F@"
+._4F: db "4F@"
+._5F: db "5F@"
+._6F: db "6F@"
+._7F: db "7F@"
+._8F: db "8F@"
+._9F: db "9F@"
+._10F: db "10F@"
+._11F: db "11F@"
+.ROOF: db "ROOF@"
diff --git a/data/items/apricorn_balls.asm b/data/items/apricorn_balls.asm
new file mode 100644
index 000000000..57e7d04bb
--- /dev/null
+++ b/data/items/apricorn_balls.asm
@@ -0,0 +1,11 @@
+ApricornBalls: ; 24ca0
+ ; apricorn, ball
+ db RED_APRICORN, LEVEL_BALL
+ db BLU_APRICORN, LURE_BALL
+ db YLW_APRICORN, MOON_BALL
+ db GRN_APRICORN, FRIEND_BALL
+ db WHT_APRICORN, FAST_BALL
+ db BLK_APRICORN, HEAVY_BALL
+ db PNK_APRICORN, LOVE_BALL
+ db -1
+; 24caf
diff --git a/data/items/attributes.asm b/data/items/attributes.asm
index dc2842760..5212be6d2 100644
--- a/data/items/attributes.asm
+++ b/data/items/attributes.asm
@@ -7,57 +7,57 @@ ENDM
ItemAttributes: ; 67c1
; entries correspond to constants/item_constants.asm
-; MASTER BALL
+; MASTER_BALL
item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; ULTRA BALL
+; ULTRA_BALL
item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; BRIGHTPOWDER
item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GREAT BALL
+; GREAT_BALL
item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; # BALL
+; POKE_BALL
item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; TOWN_MAP
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BICYCLE
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MOON STONE
+; MOON_STONE
item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ANTIDOTE
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURN HEAL
+; BURN_HEAL
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE HEAL
+; ICE_HEAL
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; AWAKENING
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; PARLYZ HEAL
+; PARLYZ_HEAL
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FULL RESTORE
+; FULL_RESTORE
item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX POTION
+; MAX_POTION
item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HYPER POTION
+; HYPER_POTION
item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SUPER POTION
+; SUPER_POTION
item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; POTION
item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ESCAPE ROPE
+; ESCAPE_ROPE
item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; REPEL
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX ELIXER
+; MAX_ELIXER
item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FIRE STONE
+; FIRE_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; THUNDERSTONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; WATER STONE
+; WATER_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_19
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; HP UP
+; HP_UP
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; PROTEIN
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -65,159 +65,159 @@ ItemAttributes: ; 67c1
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; CARBOS
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; LUCKY PUNCH
+; LUCKY_PUNCH
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CALCIUM
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; RARE CANDY
+; RARE_CANDY
item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; X ACCURACY
+; X_ACCURACY
item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LEAF STONE
+; LEAF_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; METAL POWDER
+; METAL_POWDER
item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; NUGGET
item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; # DOLL
+; POKE_DOLL
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FULL HEAL
+; FULL_HEAL
item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; REVIVE
item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX REVIVE
+; MAX_REVIVE
item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GUARD SPEC.
+; GUARD_SPEC
item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; SUPER REPEL
+; SUPER_REPEL
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX REPEL
+; MAX_REPEL
item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; DIRE HIT
+; DIRE_HIT
item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_2D
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRESH WATER
+; FRESH_WATER
item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SODA POP
+; SODA_POP
item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; LEMONADE
item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; X ATTACK
+; X_ATTACK
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_32
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; X DEFEND
+; X_DEFEND
item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPEED
+; X_SPEED
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPECIAL
+; X_SPECIAL
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; COIN CASE
+; COIN_CASE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; ITEMFINDER
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; POKE_FLUTE
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EXP.SHARE
+; EXP_SHARE
item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; OLD ROD
+; OLD_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; GOOD ROD
+; GOOD_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; SILVER LEAF
+; SILVER_LEAF
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SUPER ROD
+; SUPER_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; PP UP
+; PP_UP
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ETHER
item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX ETHER
+; MAX_ETHER
item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ELIXER
item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED SCALE
+; RED_SCALE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SECRETPOTION
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; S.S.TICKET
+; S_S_TICKET
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTERY EGG
+; MYSTERY_EGG
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEAR BELL
+; CLEAR_BELL
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SILVER WING
+; SILVER_WING
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MOOMOO MILK
+; MOOMOO_MILK
item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; QUICK CLAW
+; QUICK_CLAW
item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PSNCUREBERRY
item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD LEAF
+; GOLD_LEAF
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SOFT SAND
+; SOFT_SAND
item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SHARP BEAK
+; SHARP_BEAK
item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PRZCUREBERRY
item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURNT BERRY
+; BURNT_BERRY
item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE BERRY
+; ICE_BERRY
item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; POISON BARB
+; POISON_BARB
item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; KING'S ROCK
+; KINGS_ROCK
item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BITTER BERRY
+; BITTER_BERRY
item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
-; MINT BERRY
+; MINT_BERRY
item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED APRICORN
+; RED_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TINYMUSHROOM
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG MUSHROOM
+; BIG_MUSHROOM
item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SILVERPOWDER
item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLU APRICORN
+; BLU_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_5A
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; AMULET COIN
+; AMULET_COIN
item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; YLW APRICORN
+; YLW_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GRN APRICORN
+; GRN_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEANSE TAG
+; CLEANSE_TAG
item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTIC WATER
+; MYSTIC_WATER
item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TWISTEDSPOON
item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; WHT APRICORN
+; WHT_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLACKBELT
item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLK APRICORN
+; BLK_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_64
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PNK APRICORN
+; PNK_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLACKGLASSES
item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SLOWPOKETAIL
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PINK BOW
+; PINK_BOW
item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STICK
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SMOKE BALL
+; SMOKE_BALL
item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; NEVERMELTICE
item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
@@ -227,165 +227,165 @@ ItemAttributes: ; 67c1
item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; PEARL
item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG PEARL
+; BIG_PEARL
item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; EVERSTONE
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SPELL TAG
+; SPELL_TAG
item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; RAGECANDYBAR
item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GS BALL
+; GS_BALL
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUE CARD
+; BLUE_CARD
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MIRACLE SEED
+; MIRACLE_SEED
item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; THICK CLUB
+; THICK_CLUB
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FOCUS BAND
+; FOCUS_BAND
item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_78
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; ENERGYPOWDER
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ENERGY ROOT
+; ENERGY_ROOT
item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HEAL POWDER
+; HEAL_POWDER
item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; REVIVAL HERB
+; REVIVAL_HERB
item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HARD STONE
+; HARD_STONE
item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LUCKY EGG
+; LUCKY_EGG
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CARD KEY
+; CARD_KEY
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MACHINE PART
+; MACHINE_PART
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EGG TICKET
+; EGG_TICKET
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOST ITEM
+; LOST_ITEM
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STARDUST
item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STAR PIECE
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BASEMENT KEY
+; BASEMENT_KEY
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; PASS
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_87
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_88
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_89
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CHARCOAL
item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERRY JUICE
+; BERRY_JUICE
item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SCOPE LENS
+; SCOPE_LENS
item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_8D
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_8E
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; METAL COAT
+; METAL_COAT
item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; DRAGON FANG
+; DRAGON_FANG
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_91
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LEFTOVERS
item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_93
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_94
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_95
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MYSTERYBERRY
item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; DRAGON SCALE
+; DRAGON_SCALE
item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERSERK GENE
+; BERSERK_GENE
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_99
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_9A
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_9B
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SACRED ASH
+; SACRED_ASH
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; HEAVY BALL
+; HEAVY_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FLOWER MAIL
+; FLOWER_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LEVEL BALL
+; LEVEL_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LURE BALL
+; LURE_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FAST BALL
+; FAST_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_A2
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LIGHT BALL
+; LIGHT_BALL
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRIEND BALL
+; FRIEND_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; MOON BALL
+; MOON_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LOVE BALL
+; LOVE_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; NORMAL BOX
+; NORMAL_BOX
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; GORGEOUS BOX
+; GORGEOUS_BOX
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; SUN STONE
+; SUN_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; POLKADOT BOW
+; POLKADOT_BOW
item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_AB
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; UP-GRADE
+; UP_GRADE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BERRY
item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD BERRY
+; GOLD_BERRY
item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; SQUIRTBOTTLE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_B0
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PARK BALL
+; PARK_BALL
item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; RAINBOW WING
+; RAINBOW_WING
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_B3
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BRICK PIECE
+; BRICK_PIECE
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SURF MAIL
+; SURF_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LITEBLUEMAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PORTRAITMAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOVELY MAIL
+; LOVELY_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EON MAIL
+; EON_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MORPH MAIL
+; MORPH_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUESKY MAIL
+; BLUESKY_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MUSIC MAIL
+; MUSIC_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MIRAGE MAIL
+; MIRAGE_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_BE
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM01
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -395,7 +395,7 @@ ItemAttributes: ; 67c1
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM04
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_C3
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM05
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -445,7 +445,7 @@ ItemAttributes: ; 67c1
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM28
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_DC
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM29
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -505,17 +505,17 @@ ItemAttributes: ; 67c1
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM07
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_FA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fb
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fc
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fd
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fe
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $ff
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; ?
+; $00
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
diff --git a/data/items/heal_hp.asm b/data/items/heal_hp.asm
new file mode 100644
index 000000000..a84670450
--- /dev/null
+++ b/data/items/heal_hp.asm
@@ -0,0 +1,18 @@
+HealingHPAmounts: ; f3af
+ dbw FRESH_WATER, 50
+ dbw SODA_POP, 60
+ dbw LEMONADE, 80
+ dbw HYPER_POTION, 200
+ dbw SUPER_POTION, 50
+ dbw POTION, 20
+ dbw MAX_POTION, MAX_STAT_VALUE
+ dbw FULL_RESTORE, MAX_STAT_VALUE
+ dbw MOOMOO_MILK, 100
+ dbw BERRY, 10
+ dbw GOLD_BERRY, 30
+ dbw ENERGYPOWDER, 50
+ dbw ENERGY_ROOT, 200
+ dbw RAGECANDYBAR, 20
+ dbw BERRY_JUICE, 20
+ dbw -1, 0 ; end
+; f3df
diff --git a/data/items/heal_status.asm b/data/items/heal_status.asm
new file mode 100644
index 000000000..f0b0148bb
--- /dev/null
+++ b/data/items/heal_status.asm
@@ -0,0 +1,18 @@
+StatusHealingActions: ; f071
+ ; item, party menu action text, status
+ db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
+ db BURN_HEAL, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
+ db ICE_HEAL, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
+ db AWAKENING, PARTYMENUTEXT_HEAL_SLP, SLP
+ db PARLYZ_HEAL, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
+ db FULL_HEAL, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db HEAL_POWDER, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
+ db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
+ db BURNT_BERRY, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
+ db ICE_BERRY, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
+ db MINT_BERRY, PARTYMENUTEXT_HEAL_SLP, SLP
+ db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db -1, 0, 0 ; end
+; f09e
diff --git a/data/items/x_stats.asm b/data/items/x_stats.asm
new file mode 100644
index 000000000..ac2d0ad27
--- /dev/null
+++ b/data/items/x_stats.asm
@@ -0,0 +1,7 @@
+XItemStats: ; f504
+ ; item, stat
+ db X_ATTACK, ATTACK
+ db X_DEFEND, DEFENSE
+ db X_SPEED, SPEED
+ db X_SPECIAL, SP_ATTACK
+; f50c
diff --git a/data/maps/sgb_roofs.asm b/data/maps/sgb_roofs.asm
new file mode 100644
index 000000000..5692c880a
--- /dev/null
+++ b/data/maps/sgb_roofs.asm
@@ -0,0 +1,32 @@
+; Crystal does not support SGB, so this is unused.
+
+MapGroupRoofSGBPalInds: ; 8a45
+; entries correspond to map groups
+ db $00 ; group 0 (unused)
+ db $12 ; group 1 (Olivine)
+ db $14 ; group 2 (Mahogany)
+ db $18 ; group 3 (dungeons)
+ db $11 ; group 4 (Ecruteak)
+ db $15 ; group 5 (Blackthorn)
+ db $09 ; group 6 (Cinnabar)
+ db $04 ; group 7 (Cerulean)
+ db $0f ; group 8 (Azalea)
+ db $16 ; group 9 (Lake of Rage)
+ db $0e ; group 10 (Violet)
+ db $10 ; group 11 (Goldenrod)
+ db $06 ; group 12 (Vermilion)
+ db $01 ; group 13 (Pallet)
+ db $03 ; group 14 (Pewter)
+ db $06 ; group 15 (Mount Moon Square)
+ db $0b ; group 16 (Indigo)
+ db $08 ; group 17 (Fuchsia)
+ db $05 ; group 18 (Lavender)
+ db $17 ; group 19 (Silver Cave)
+ db $08 ; group 20 (Cable Club)
+ db $07 ; group 21 (Celadon)
+ db $13 ; group 22 (Cianwood)
+ db $02 ; group 23 (Viridian)
+ db $0c ; group 24 (New Bark)
+ db $0a ; group 25 (Saffron)
+ db $0d ; group 26 (Cherrygrove)
+; 8a60
diff --git a/data/phone/permanent_numbers.asm b/data/phone/permanent_numbers.asm
new file mode 100644
index 000000000..a5101f2b6
--- /dev/null
+++ b/data/phone/permanent_numbers.asm
@@ -0,0 +1,5 @@
+PermanentNumbers: ; 90066
+ db PHONECONTACT_MOM
+ db PHONECONTACT_ELM
+ db -1 ; end
+; 90069
diff --git a/data/type_names.asm b/data/types/names.asm
index d86fd62c7..ca810aea3 100644
--- a/data/type_names.asm
+++ b/data/types/names.asm
@@ -48,3 +48,5 @@ Ghost: db "GHOST@"
Steel: db "STEEL@"
Dragon: db "DRAGON@"
Dark: db "DARK@"
+
+; 50a28
diff --git a/data/types/search_strings.asm b/data/types/search_strings.asm
new file mode 100644
index 000000000..7e6eb71c2
--- /dev/null
+++ b/data/types/search_strings.asm
@@ -0,0 +1,21 @@
+PokedexTypeSearchStrings: ; 40fe4
+; entries correspond with PokedexTypeSearchConversionTable (see data/types/search_types.asm)
+ db " ---- @"
+ db " NORMAL @"
+ db " FIRE @"
+ db " WATER @"
+ db " GRASS @"
+ db "ELECTRIC@"
+ db " ICE @"
+ db "FIGHTING@"
+ db " POISON @"
+ db " GROUND @"
+ db " FLYING @"
+ db "PSYCHIC @"
+ db " BUG @"
+ db " ROCK @"
+ db " GHOST @"
+ db " DRAGON @"
+ db " DARK @"
+ db " STEEL @"
+; 41086
diff --git a/data/types/search_types.asm b/data/types/search_types.asm
new file mode 100644
index 000000000..2c5dbd4f4
--- /dev/null
+++ b/data/types/search_types.asm
@@ -0,0 +1,20 @@
+PokedexTypeSearchConversionTable: ; 410f6
+; entries correspond with PokedexTypeSearchStrings (see data/types/search_strings.asm)
+ db NORMAL
+ db FIRE
+ db WATER
+ db GRASS
+ db ELECTRIC
+ db ICE
+ db FIGHTING
+ db POISON
+ db GROUND
+ db FLYING
+ db PSYCHIC
+ db BUG
+ db ROCK
+ db GHOST
+ db DRAGON
+ db DARK
+ db STEEL
+; 41107
diff --git a/data/unused_text/dakutens.asm b/data/unused_text/dakutens.asm
new file mode 100644
index 000000000..38792c937
--- /dev/null
+++ b/data/unused_text/dakutens.asm
@@ -0,0 +1,15 @@
+Dakutens: ; dummied out
+ db "かが", "きぎ", "くぐ", "けげ", "こご"
+ db "さざ", "しじ", "すず", "せぜ", "そぞ"
+ db "ただ", "ちぢ", "つづ", "てで", "とど"
+ db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
+ db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
+ db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
+ db "タダ", "チヂ", "ツヅ", "テデ", "トド"
+ db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
+ db -1 ; end
+
+Handakutens: ; dummied out
+ db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
+ db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
+ db -1 ; end
diff --git a/engine/events/elevator.asm b/engine/events/elevator.asm
index 9170b642d..35e95fa3c 100755
--- a/engine/events/elevator.asm
+++ b/engine/events/elevator.asm
@@ -200,12 +200,12 @@ Elevator_MenuData2: ; 0x13558
db 4, 0 ; rows, columns
db 1 ; horizontal spacing
dbw 0, CurElevator
- dba GetElevatorFlorStrings
+ dba GetElevatorFloorStrings
dba NULL
dba NULL
; 13568
-GetElevatorFlorStrings: ; 13568
+GetElevatorFloorStrings: ; 13568
ld a, [MenuSelection]
GetFloorString: ; 1356b
push de
@@ -220,7 +220,7 @@ FloorToString: ; 13575
push de
ld e, a
ld d, 0
- ld hl, .floors
+ ld hl, ElevatorFloorNames
add hl, de
add hl, de
ld a, [hli]
@@ -230,54 +230,4 @@ FloorToString: ; 13575
ret
; 13583
-.floors
- dw .b4f
- dw .b3f
- dw .b2f
- dw .b1f
- dw ._1f
- dw ._2f
- dw ._3f
- dw ._4f
- dw ._5f
- dw ._6f
- dw ._7f
- dw ._8f
- dw ._9f
- dw ._10f
- dw ._11f
- dw .roof
-
-.b4f
- db "B4F@"
-.b3f
- db "B3F@"
-.b2f
- db "B2F@"
-.b1f
- db "B1F@"
-._1f
- db "1F@"
-._2f
- db "2F@"
-._3f
- db "3F@"
-._4f
- db "4F@"
-._5f
- db "5F@"
-._6f
- db "6F@"
-._7f
- db "7F@"
-._8f
- db "8F@"
-._9f
- db "9F@"
-._10f
- db "10F@"
-._11f
- db "11F@"
-.roof
- db "ROOF@"
-; 135db
+INCLUDE "data/elevator_floors.asm"
diff --git a/engine/events/magnet_train.asm b/engine/events/magnet_train.asm
index c85642ab8..a4b523d1e 100755
--- a/engine/events/magnet_train.asm
+++ b/engine/events/magnet_train.asm
@@ -220,8 +220,7 @@ GetMagnetTrainBGTiles: ; 8cd74
; 8cd82
MagnetTrainBGTiles: ; 8cd82
-; Alternating tiles for each line
-; of the Magnet Train tilemap.
+; Alternating tiles for each line of the Magnet Train tilemap.
db $4c, $4d ; bush
db $5c, $5d ; bush
db $4c, $4d ; bush
@@ -263,25 +262,25 @@ SetMagnetTrainPals: ; 8cdc3
; bushes
hlbgcoord 0, 0
ld bc, 4 * BG_MAP_WIDTH
- ld a, $2
+ ld a, PAL_BG_GREEN
call ByteFill
; train
hlbgcoord 0, 4
ld bc, 10 * BG_MAP_WIDTH
- xor a
+ xor a ; PAL_BG_GRAY
call ByteFill
; more bushes
hlbgcoord 0, 14
ld bc, 4 * BG_MAP_WIDTH
- ld a, $2
+ ld a, PAL_BG_GREEN
call ByteFill
; train window
hlbgcoord 7, 8
ld bc, 6
- ld a, $4
+ ld a, PAL_BG_YELLOW
call ByteFill
ld a, $0
@@ -459,23 +458,11 @@ MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae
; 8ceff
MagnetTrainTilemap1:
- db $1f, $05, $06, $0a, $0a
- db $0a, $09, $0a, $0a, $0a
- db $0a, $0a, $0a, $09, $0a
- db $0a, $0a, $0b, $0c, $1f
+ db $1f, $05, $06, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0b, $0c, $1f
MagnetTrainTilemap2:
- db $14, $15, $16, $1a, $1a
- db $1a, $19, $1a, $1a, $1a
- db $1a, $1a, $1a, $19, $1a
- db $1a, $1a, $1b, $1c, $1d
+ db $14, $15, $16, $1a, $1a, $1a, $19, $1a, $1a, $1a, $1a, $1a, $1a, $19, $1a, $1a, $1a, $1b, $1c, $1d
MagnetTrainTilemap3:
- db $24, $25, $26, $27, $07
- db $2f, $29, $28, $28, $28
- db $28, $28, $28, $29, $07
- db $2f, $2a, $2b, $2c, $2d
+ db $24, $25, $26, $27, $07, $2f, $29, $28, $28, $28, $28, $28, $28, $29, $07, $2f, $2a, $2b, $2c, $2d
MagnetTrainTilemap4:
- db $20, $1f, $2e, $1f, $17
- db $00, $2e, $1f, $1f, $1f
- db $1f, $1f, $1f, $2e, $17
- db $00, $1f, $2e, $1f, $0f
+ db $20, $1f, $2e, $1f, $17, $00, $2e, $1f, $1f, $1f, $1f, $1f, $1f, $2e, $17, $00, $1f, $2e, $1f, $0f
; 8cf4f
diff --git a/engine/events/poisonstep_pals.asm b/engine/events/poisonstep_pals.asm
index 498ae8f18..10a254ceb 100644
--- a/engine/events/poisonstep_pals.asm
+++ b/engine/events/poisonstep_pals.asm
@@ -31,7 +31,6 @@ LoadPoisonBGPals: ; cbcdd
ld hl, wBGPals2
ld c, 4 palettes
.loop
-; RGB 28, 21, 31
ld a, LOW(palred 28 + palgreen 21 + palblue 31)
ld [hli], a
ld a, HIGH(palred 28 + palgreen 21 + palblue 31)
diff --git a/engine/events/std_scripts.asm b/engine/events/std_scripts.asm
index 297725c60..da2d38138 100644
--- a/engine/events/std_scripts.asm
+++ b/engine/events/std_scripts.asm
@@ -1,4 +1,5 @@
StdScripts::
+; entries correspond to constants/std_constants.asm
dba PokecenterNurseScript
dba DifficultBookshelfScript
dba PictureBookshelfScript
@@ -1818,7 +1819,7 @@ CoinVendor_IntroScript: ; 0xbcde0
; 0xbcdf7
.Buy50: ; 0xbcdf7
- checkcoins 9949
+ checkcoins MAX_COINS - 50
if_equal $0, .CoinCaseFull
checkmoney $0, 1000
if_equal $2, .NotEnoughMoney
@@ -1832,7 +1833,7 @@ CoinVendor_IntroScript: ; 0xbcde0
; 0xbce1b
.Buy500: ; 0xbce1b
- checkcoins 9499
+ checkcoins MAX_COINS - 500
if_equal $0, .CoinCaseFull
checkmoney $0, 10000
if_equal $2, .NotEnoughMoney
diff --git a/engine/item_effects.asm b/engine/item_effects.asm
index 026541b6f..7c71cf08a 100644
--- a/engine/item_effects.asm
+++ b/engine/item_effects.asm
@@ -1576,7 +1576,7 @@ HealStatus: ; f030 (3:7030)
GetItemHealingAction: ; f058 (3:7058)
push hl
ld a, [CurItem]
- ld hl, .healingactions
+ ld hl, StatusHealingActions
ld bc, 3
.next
cp [hl]
@@ -1595,24 +1595,7 @@ GetItemHealingAction: ; f058 (3:7058)
ret
; f071 (3:7071)
-.healingactions ; f071
-; item, party menu action text, status
- db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
- db BURN_HEAL, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
- db ICE_HEAL, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
- db AWAKENING, PARTYMENUTEXT_HEAL_SLP, SLP
- db PARLYZ_HEAL, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
- db FULL_HEAL, PARTYMENUTEXT_HEAL_ALL, %11111111
- db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111
- db HEAL_POWDER, PARTYMENUTEXT_HEAL_ALL, %11111111
- db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
- db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
- db BURNT_BERRY, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
- db ICE_BERRY, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
- db MINT_BERRY, PARTYMENUTEXT_HEAL_SLP, SLP
- db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111
- db -1, 0, 0
-; f09e
+INCLUDE "data/items/heal_status.asm"
StatusHealer_Jumptable: ; f09e (3:709e)
ld hl, .dw
@@ -2118,7 +2101,7 @@ GetOneFifthMaxHP: ; f378 (3:7378)
GetHealingItemAmount: ; f395 (3:7395)
push hl
ld a, [CurItem]
- ld hl, .Healing
+ ld hl, HealingHPAmounts
ld d, a
.next
ld a, [hli]
@@ -2140,24 +2123,7 @@ GetHealingItemAmount: ; f395 (3:7395)
ret
; f3af (3:73af)
-.Healing: ; f3af
- dbw FRESH_WATER, 50
- dbw SODA_POP, 60
- dbw LEMONADE, 80
- dbw HYPER_POTION, 200
- dbw SUPER_POTION, 50
- dbw POTION, 20
- dbw MAX_POTION, MAX_STAT_VALUE
- dbw FULL_RESTORE, MAX_STAT_VALUE
- dbw MOOMOO_MILK, 100
- dbw BERRY, 10
- dbw GOLD_BERRY, 30
- dbw ENERGYPOWDER, 50
- dbw ENERGY_ROOT, 200
- dbw RAGECANDYBAR, 20
- dbw BERRY_JUICE, 20
- dbw -1, 0
-; f3df
+INCLUDE "data/items/heal_hp.asm"
Softboiled_MilkDrinkFunction: ; f3df (3:73df)
; Softboiled/Milk Drink in the field
@@ -2328,7 +2294,7 @@ XSpecial: ; f4c5
call UseItemText
ld a, [CurItem]
- ld hl, .x_item_table
+ ld hl, XItemStats
.loop
cp [hl]
@@ -2357,12 +2323,7 @@ XSpecial: ; f4c5
ret
; f504
-.x_item_table ; f504
- db X_ATTACK, ATTACK
- db X_DEFEND, DEFENSE
- db X_SPEED, SPEED
- db X_SPECIAL, SP_ATTACK
-; f50c
+INCLUDE "data/items/x_stats.asm"
PokeFlute: ; f50c
diff --git a/engine/map_objects.asm b/engine/map_objects.asm
index c65843254..503dac46d 100644
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -392,6 +392,7 @@ StepVectors: ; 4700
db -4, 0, 4, 4
db 4, 0, 4, 4
; 4730
+
GetStepVectorSign: ; 4730
add a
ret z ; 0 or 128
@@ -400,6 +401,7 @@ GetStepVectorSign: ; 4730
ld a, -1
ret ; 129 - 255
; 4738
+
UpdatePlayerStep: ; 4738
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
diff --git a/engine/menu_2.asm b/engine/menu_2.asm
index d88b75152..fc1b511b0 100644
--- a/engine/menu_2.asm
+++ b/engine/menu_2.asm
@@ -216,7 +216,7 @@ FindApricornsInBag: ; 24c64
ld bc, 10
call ByteFill
- ld hl, .ApricornBalls
+ ld hl, ApricornBalls
.loop
ld a, [hl]
cp -1
@@ -252,12 +252,4 @@ FindApricornsInBag: ; 24c64
pop hl
ret
-.ApricornBalls: ; 24ca0
- db RED_APRICORN, LEVEL_BALL
- db BLU_APRICORN, LURE_BALL
- db YLW_APRICORN, MOON_BALL
- db GRN_APRICORN, FRIEND_BALL
- db WHT_APRICORN, FAST_BALL
- db BLK_APRICORN, HEAVY_BALL
- db PNK_APRICORN, LOVE_BALL
- db -1
+INCLUDE "data/items/apricorn_balls.asm"
diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm
index 0e059613b..e0de37c5f 100755
--- a/engine/namingscreen.asm
+++ b/engine/namingscreen.asm
@@ -765,21 +765,7 @@ NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27
; 11b56
-Dakutens: ; Dummied out
- db "かが", "きぎ", "くぐ", "けげ", "こご"
- db "さざ", "しじ", "すず", "せぜ", "そぞ"
- db "ただ", "ちぢ", "つづ", "てで", "とど"
- db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
- db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
- db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
- db "タダ", "チヂ", "ツヅ", "テデ", "トド"
- db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
- db -1 ; end
-
-Handakutens: ; Dummied out
- db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
- db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
- db -1 ; end
+INCLUDE "data/unused_text/dakutens.asm"
; 11bbc
diff --git a/engine/party_menu.asm b/engine/party_menu.asm
index 0415e29e4..911ec01d8 100644
--- a/engine/party_menu.asm
+++ b/engine/party_menu.asm
@@ -1,3 +1,15 @@
+; WritePartyMenuTilemap.Jumptable indexes
+ const_def
+ const PARTYMENUQUALITY_NICKNAMES
+ const PARTYMENUQUALITY_HP_BAR
+ const PARTYMENUQUALITY_HP_DIGITS
+ const PARTYMENUQUALITY_LEVEL
+ const PARTYMENUQUALITY_STATUS
+ const PARTYMENUQUALITY_TMHM_COMPAT
+ const PARTYMENUQUALITY_EVO_STONE_COMPAT
+ const PARTYMENUQUALITY_GENDER
+ const PARTYMENUQUALITY_MOBILE_SELECTION
+
SelectMonFromParty: ; 50000
call DisableSpriteUpdates
xor a
@@ -57,16 +69,16 @@ WritePartyMenuTilemap: ; 0x5005f
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, " "
call ByteFill ; blank the tilemap
- call GetPartyMenuTilemapPointers ; This reads from a pointer table???
+ call GetPartyMenuQualityIndexes
.loop
ld a, [hli]
- cp $ff
- jr z, .end ; 0x5007a $8
+ cp -1
+ jr z, .end
push hl
ld hl, .Jumptable
rst JumpTable
pop hl
- jr .loop ; 0x50082 $f3
+ jr .loop
.end
pop af
ld [Options], a
@@ -74,6 +86,7 @@ WritePartyMenuTilemap: ; 0x5005f
; 0x50089
.Jumptable: ; 50089
+; entries correspond to PARTYMENUQUALITY_* constants
dw PlacePartyNicknames
dw PlacePartyHPBar
dw PlacePartyMenuHPDigits
@@ -598,7 +611,7 @@ PartyMenuCheckEgg: ; 50389
ret
; 50396
-GetPartyMenuTilemapPointers: ; 50396
+GetPartyMenuQualityIndexes: ; 50396
ld a, [PartyMenuActionText]
and $f0
jr nz, .skip
@@ -620,23 +633,32 @@ GetPartyMenuTilemapPointers: ; 50396
; 503b2
.Pointers: ; 503b2
- dw .Default
- dw .Default
- dw .Default
- dw .TMHM
- dw .Default
- dw .EvoStone
- dw .Gender
- dw .Gender
- dw .Default
- dw .Mobile
+; entries correspond to PARTYMENUACTION_* constants
+ dw .Default ; PARTYMENUACTION_CHOOSE_POKEMON
+ dw .Default ; PARTYMENUACTION_HEALING_ITEM
+ dw .Default ; PARTYMENUACTION_SWITCH
+ dw .TMHM ; PARTYMENUACTION_TEACH_TMHM
+ dw .Default ; PARTYMENUACTION_MOVE
+ dw .EvoStone ; PARTYMENUACTION_EVO_STONE
+ dw .Gender ; PARTYMENUACTION_GIVE_MON
+ dw .Gender ; PARTYMENUACTION_GIVE_MON_FEMALE
+ dw .Default ; PARTYMENUACTION_GIVE_ITEM
+ dw .Mobile ; PARTYMENUACTION_MOBILE
; 503c6
-.Default: db 0, 1, 2, 3, 4, $ff
-.TMHM: db 0, 5, 3, 4, $ff
-.EvoStone: db 0, 6, 3, 4, $ff
-.Gender: db 0, 7, 3, 4, $ff
-.Mobile: db 0, 8, 3, 4, $ff
+partymenuqualities: MACRO
+rept _NARG
+ db PARTYMENUQUALITY_\1
+shift
+endr
+ db -1 ; end
+ENDM
+
+.Default: partymenuqualities NICKNAMES, HP_BAR, HP_DIGITS, LEVEL, STATUS
+.TMHM: partymenuqualities NICKNAMES, TMHM_COMPAT, LEVEL, STATUS
+.EvoStone: partymenuqualities NICKNAMES, EVO_STONE_COMPAT, LEVEL, STATUS
+.Gender: partymenuqualities NICKNAMES, GENDER, LEVEL, STATUS
+.Mobile: partymenuqualities NICKNAMES, MOBILE_SELECTION, LEVEL, STATUS
; 503e0
diff --git a/engine/phone/phone.asm b/engine/phone/phone.asm
index 9932d0f4f..9a22ff143 100644
--- a/engine/phone/phone.asm
+++ b/engine/phone/phone.asm
@@ -75,20 +75,20 @@ GetRemainingSpaceInPhoneList: ; 90040
cp -1
jr z, .done
cp c
- jr z, .elm_or_mom
+ jr z, .continue
+
push bc
push hl
ld c, a
call _CheckCellNum
- jr c, .elm_or_mom_in_list
+ jr c, .permanent
ld hl, Buffer1
inc [hl]
-
-.elm_or_mom_in_list
+.permanent
pop hl
pop bc
-.elm_or_mom
+.continue
jr .loop
.done
@@ -98,9 +98,7 @@ GetRemainingSpaceInPhoneList: ; 90040
ret
; 90066
-PermanentNumbers: ; 90066
- db PHONECONTACT_MOM, PHONECONTACT_ELM, -1
-; 90069
+INCLUDE "data/phone/permanent_numbers.asm"
FarPlaceString: ; 90069
diff --git a/engine/pokedex.asm b/engine/pokedex.asm
index 0e67ba7c6..8f39a742d 100644
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -1794,7 +1794,7 @@ Pokedex_PrevSearchMonType: ; 40f65
ld hl, wDexSearchMonType1
ld a, [hl]
- cp $1
+ cp 1
jr z, .wrap_around
dec [hl]
jr .done
@@ -1808,7 +1808,7 @@ Pokedex_PrevSearchMonType: ; 40f65
jr .done
.wrap_around
- ld [hl], $11
+ ld [hl], NUM_TYPES - 1
.done
scf
@@ -1821,18 +1821,18 @@ Pokedex_NextSearchMonType: ; 40f84
ld hl, wDexSearchMonType1
ld a, [hl]
- cp $11
+ cp NUM_TYPES - 1
jr nc, .type1_wrap_around
inc [hl]
jr .done
.type1_wrap_around
- ld [hl], $1
+ ld [hl], 1
jr .done
.type2
ld hl, wDexSearchMonType2
ld a, [hl]
- cp $11
+ cp NUM_TYPES - 1
jr nc, .type2_wrap_around
inc [hl]
jr .done
@@ -1864,7 +1864,7 @@ Pokedex_PlaceTypeString: ; 40fcd (10:4fcd)
push hl
ld e, a
ld d, 0
- ld hl, .TypeStrings
+ ld hl, PokedexTypeSearchStrings
rept 9
add hl, de
endr
@@ -1874,25 +1874,7 @@ endr
call PlaceString
ret
-.TypeStrings: ; 40fe4
- db " ---- @"
- db " NORMAL @"
- db " FIRE @"
- db " WATER @"
- db " GRASS @"
- db "ELECTRIC@"
- db " ICE @"
- db "FIGHTING@"
- db " POISON @"
- db " GROUND @"
- db " FLYING @"
- db "PSYCHIC @"
- db " BUG @"
- db " ROCK @"
- db " GHOST @"
- db " DRAGON @"
- db " DARK @"
- db " STEEL @"
+INCLUDE "data/types/search_strings.asm"
Pokedex_SearchForMons: ; 41086
ld a, [wDexSearchMonType2]
@@ -1907,7 +1889,7 @@ Pokedex_SearchForMons: ; 41086
dec a
ld e, a
ld d, 0
- ld hl, .TypeConversionTable
+ ld hl, PokedexTypeSearchConversionTable
add hl, de
ld a, [hl]
ld [wDexConvertedMonType], a
@@ -1969,24 +1951,7 @@ Pokedex_SearchForMons: ; 41086
.done
ret
-.TypeConversionTable: ; 410f6
- db NORMAL
- db FIRE
- db WATER
- db GRASS
- db ELECTRIC
- db ICE
- db FIGHTING
- db POISON
- db GROUND
- db FLYING
- db PSYCHIC
- db BUG
- db ROCK
- db GHOST
- db DRAGON
- db DARK
- db STEEL
+INCLUDE "data/types/search_types.asm"
Pokedex_DisplayTypeNotFoundMessage: ; 41107
xor a
diff --git a/engine/pokegear.asm b/engine/pokegear.asm
index 944082d80..20910c0d5 100755
--- a/engine/pokegear.asm
+++ b/engine/pokegear.asm
@@ -1510,7 +1510,7 @@ UpdateRadioStation: ; 9166f (24:566f)
; 916ad
RadioChannels:
-; frequencies and the shows that play on them.
+; entries correspond to constants/radio_constants.asm
; frequency value given here = 4 × ingame_frequency − 2
dbw 16, .PkmnTalkAndPokedexShow
diff --git a/engine/sgb_layouts.asm b/engine/sgb_layouts.asm
index 36dbde84c..8e79e33f9 100644
--- a/engine/sgb_layouts.asm
+++ b/engine/sgb_layouts.asm
@@ -18,7 +18,7 @@ Predef_LoadSGBLayout: ; 864c
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, .Finish
+ ld de, _LoadSGBLayout_ReturnFromJumpTable
push de
jp hl
; 866f
@@ -389,15 +389,13 @@ endr
jr z, .partymon
; Egg
ld hl, wSGBPals + 3
- ; RGB 7, 7, 7
- ld [hl], $e7
+ ld [hl], LOW(palred 7 + palgreen 7 + palblue 7)
inc hl
- ld [hl], $1c
+ ld [hl], HIGH(palred 7 + palgreen 7 + palblue 7)
inc hl
- ; RGB 2, 3, 3
- ld [hl], $62
+ ld [hl], LOW(palred 2 + palgreen 3 + palblue 3)
inc hl
- ld [hl], $c
+ ld [hl], HIGH(palred 2 + palgreen 3 + palblue 3)
jr .done
.partymon
@@ -576,7 +574,7 @@ endr
ld a, [MapGroup]
ld e, a
ld d, 0
- ld hl, .SGBRoofPalInds
+ ld hl, MapGroupRoofSGBPalInds
add hl, de
ld a, [hl]
ret
@@ -598,37 +596,9 @@ endr
ret
; 8a45
-.SGBRoofPalInds: ; 8a45
- db $00 ; Unused
- db $12 ; Olivine
- db $14 ; Mahogany
- db $18 ; Various Dungeons
- db $11 ; Ecruteak
- db $15 ; Blackthorn
- db $09 ; Cinnabar
- db $04 ; Cerulean
- db $0f ; Azalea
- db $16 ; Lake Of Rage
- db $0e ; Violet
- db $10 ; Goldenrod
- db $06 ; Vermilion
- db $01 ; Palette
- db $03 ; Pewter
- db $06 ; Fast Ship
- db $0b ; Indigo Plateau
- db $08 ; Fuchsia
- db $05 ; Lavender
- db $17 ; Silver Cave Outside
- db $08 ; Pokemon Center 2F
- db $07 ; Celadon
- db $13 ; Cianwood
- db $02 ; Viridian
- db $0c ; New Bark
- db $0a ; Saffron
- db $0d ; Cherrygrove
-; 8a60
-
-.Finish: ; 8a60
+INCLUDE "data/maps/sgb_roofs.asm"
+
+_LoadSGBLayout_ReturnFromJumpTable: ; 8a60
push de
call PushSGBPals_
pop hl
diff --git a/engine/types.asm b/engine/types.asm
index 375bfe434..ade1aaa4a 100644
--- a/engine/types.asm
+++ b/engine/types.asm
@@ -96,6 +96,4 @@ GetTypeName: ; 50964
; 5097b
-INCLUDE "data/type_names.asm"
-
-; 50a28
+INCLUDE "data/types/names.asm"
diff --git a/gfx/tilesets/roofs.pal b/gfx/tilesets/roofs.pal
index ba65fc7d2..2b0c3895a 100644
--- a/gfx/tilesets/roofs.pal
+++ b/gfx/tilesets/roofs.pal
@@ -16,7 +16,7 @@
RGB 06, 09, 07
RGB 04, 05, 06
-; group 3
+; group 3 (dungeons)
RGB 21, 21, 21
RGB 11, 11, 11
RGB 21, 21, 21
@@ -94,7 +94,7 @@
RGB 09, 13, 19
RGB 07, 07, 16
-; group 16 (Route 23)
+; group 16 (Indigo)
RGB 21, 21, 21
RGB 13, 13, 13
RGB 11, 11, 19
@@ -112,13 +112,13 @@
RGB 12, 07, 17
RGB 08, 06, 10
-; group 19 (Route 28)
+; group 19 (Silver Cave)
RGB 21, 21, 25
RGB 16, 16, 16
RGB 13, 13, 13
RGB 07, 07, 07
-; group 20
+; group 20 (Cable Club)
RGB 21, 21, 21
RGB 11, 11, 11
RGB 21, 21, 21