summaryrefslogtreecommitdiff
path: root/data/items
diff options
context:
space:
mode:
authorDaniel Harding <33dannye@gmail.com>2020-05-16 21:42:24 -0500
committerGitHub <noreply@github.com>2020-05-16 21:42:24 -0500
commit8a924f1f783572ff395f617f99546b4c949c8b04 (patch)
tree1b6c7de331cb983256651b11b8adf413a3a434f1 /data/items
parent88d7e9a34a8b610b358cec1ccc6660634ca9ce80 (diff)
parented94962edf1668aba3f60938e8a5ba8040e2a59c (diff)
Merge pull request #30 from entrpntr/spring-cleaning
Spring Cleaning
Diffstat (limited to 'data/items')
-rw-r--r--data/items/apricorn_balls.asm10
-rw-r--r--data/items/attributes.asm521
-rw-r--r--data/items/bargain_shop.asm8
-rw-r--r--data/items/catch_rate_items.asm18
-rw-r--r--data/items/descriptions.asm1007
-rw-r--r--data/items/heal_hp.asm17
-rw-r--r--data/items/heal_status.asm19
-rw-r--r--data/items/mail_items.asm12
-rw-r--r--data/items/marts.asm406
-rw-r--r--data/items/mystery_gift_items.asm39
-rw-r--r--data/items/names.asm257
-rw-r--r--data/items/pocket_names.asm11
-rw-r--r--data/items/x_stats.asm6
13 files changed, 2331 insertions, 0 deletions
diff --git a/data/items/apricorn_balls.asm b/data/items/apricorn_balls.asm
new file mode 100644
index 00000000..814aeab2
--- /dev/null
+++ b/data/items/apricorn_balls.asm
@@ -0,0 +1,10 @@
+ApricornBalls:
+ ; 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
diff --git a/data/items/attributes.asm b/data/items/attributes.asm
new file mode 100644
index 00000000..1ed369f0
--- /dev/null
+++ b/data/items/attributes.asm
@@ -0,0 +1,521 @@
+item_attribute: MACRO
+; price, held effect, parameter, property, pocket, field menu, battle menu
+ dw \1
+ db \2, \3, \4, \5
+ dn \6, \7
+ENDM
+
+ItemAttributes:
+; entries correspond to item ids
+; MASTER_BALL
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; ULTRA_BALL
+ item_attribute 1200, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; BRIGHTPOWDER
+ item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; GREAT_BALL
+ item_attribute 600, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; POKE_BALL
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; TOWN_MAP
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BICYCLE
+ item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; MOON_STONE
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ANTIDOTE
+ item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; BURN_HEAL
+ item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ICE_HEAL
+ item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; AWAKENING
+ item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; PARLYZ_HEAL
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; FULL_RESTORE
+ item_attribute 3000, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX_POTION
+ item_attribute 2500, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HYPER_POTION
+ item_attribute 1200, HELD_NONE, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SUPER_POTION
+ item_attribute 700, HELD_NONE, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; POTION
+ item_attribute 300, HELD_NONE, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ESCAPE_ROPE
+ item_attribute 550, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; REPEL
+ item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; MAX_ELIXER
+ item_attribute 4500, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; FIRE_STONE
+ item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; THUNDERSTONE
+ item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; WATER_STONE
+ item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ITEM_19
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; HP_UP
+ item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; PROTEIN
+ item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; IRON
+ item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; CARBOS
+ item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; LUCKY_PUNCH
+ item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CALCIUM
+ item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; RARE_CANDY
+ item_attribute 4800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; X_ACCURACY
+ item_attribute 950, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LEAF_STONE
+ item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; METAL_POWDER
+ item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; NUGGET
+ item_attribute 10000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; POKE_DOLL
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FULL_HEAL
+ item_attribute 600, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; REVIVE
+ item_attribute 1500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX_REVIVE
+ item_attribute 4000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GUARD_SPEC
+ item_attribute 700, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; SUPER_REPEL
+ item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; MAX_REPEL
+ item_attribute 700, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; DIRE_HIT
+ item_attribute 650, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; ITEM_2D
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FRESH_WATER
+ item_attribute 200, HELD_NONE, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SODA_POP
+ item_attribute 300, HELD_NONE, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; LEMONADE
+ item_attribute 350, HELD_NONE, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; X_ATTACK
+ item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; ITEM_32
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; X_DEFEND
+ item_attribute 550, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; X_SPEED
+ item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; X_SPECIAL
+ item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; COIN_CASE
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; ITEMFINDER
+ item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; POKE_FLUTE
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EXP_SHARE
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; OLD_ROD
+ item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; GOOD_ROD
+ item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; SILVER_LEAF
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SUPER_ROD
+ item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; PP_UP
+ item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ETHER
+ item_attribute 1200, HELD_NONE, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; MAX_ETHER
+ item_attribute 2000, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ELIXER
+ item_attribute 3000, HELD_NONE, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; RED_SCALE
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SECRETPOTION
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; S_S_TICKET
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MYSTERY_EGG
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_46
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SILVER_WING
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MOOMOO_MILK
+ item_attribute 500, HELD_NONE, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; 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
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SOFT_SAND
+ item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; 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
+ item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ICE_BERRY
+ item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; POISON_BARB
+ item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; KINGS_ROCK
+ item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BITTER_BERRY
+ item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
+; MINT_BERRY
+ item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; RED_APRICORN
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TINYMUSHROOM
+ item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BIG_MUSHROOM
+ item_attribute 5000, HELD_NONE, 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
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_5A
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; AMULET_COIN
+ item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; YLW_APRICORN
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; GRN_APRICORN
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CLEANSE_TAG
+ item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; 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
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLACKBELT_I
+ item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLK_APRICORN
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_64
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PNK_APRICORN
+ item_attribute 200, HELD_NONE, 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, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PINK_BOW
+ item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STICK
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; 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
+; MAGNET
+ item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MIRACLEBERRY
+ item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; PEARL
+ item_attribute 1400, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BIG_PEARL
+ item_attribute 7500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EVERSTONE
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SPELL_TAG
+ item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; RAGECANDYBAR
+ item_attribute 300, HELD_NONE, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ITEM_73
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_74
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MIRACLE_SEED
+ item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; THICK_CLUB
+ item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FOCUS_BAND
+ item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_78
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ENERGYPOWDER
+ item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; ENERGY_ROOT
+ item_attribute 800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HEAL_POWDER
+ item_attribute 450, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; REVIVAL_HERB
+ item_attribute 2800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; HARD_STONE
+ item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LUCKY_EGG
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CARD_KEY
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; MACHINE_PART
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_81
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LOST_ITEM
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STARDUST
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; STAR_PIECE
+ item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BASEMENT_KEY
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; PASS
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_87
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_88
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_89
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; CHARCOAL
+ item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERRY_JUICE
+ item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SCOPE_LENS
+ item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_8D
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_8E
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; METAL_COAT
+ item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; DRAGON_FANG
+ item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_91
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LEFTOVERS
+ item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_93
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_94
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_95
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MYSTERYBERRY
+ item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; DRAGON_SCALE
+ item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERSERK_GENE
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_99
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_9A
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_9B
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SACRED_ASH
+ item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; HEAVY_BALL
+ item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FLOWER_MAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LEVEL_BALL
+ item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LURE_BALL
+ item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; FAST_BALL
+ item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; ITEM_A2
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LIGHT_BALL
+ item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; FRIEND_BALL
+ item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; MOON_BALL
+ item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; LOVE_BALL
+ item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; NORMAL_BOX
+ item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; GORGEOUS_BOX
+ item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
+; SUN_STONE
+ item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; POLKADOT_BOW
+ item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_AB
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; UP_GRADE
+ item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BERRY
+ item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; GOLD_BERRY
+ item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
+; SQUIRTBOTTLE
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
+; ITEM_B0
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PARK_BALL
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
+; RAINBOW_WING
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_B3
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BRICK_PIECE
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; SURF_MAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LITEBLUEMAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; PORTRAITMAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; LOVELY_MAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; EON_MAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MORPH_MAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; BLUESKY_MAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MUSIC_MAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; MIRAGE_MAIL
+ item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; ITEM_BE
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM01
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM02
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM03
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM04
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ITEM_C3
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM05
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM06
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM07
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM08
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM09
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM10
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM11
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM12
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM13
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM14
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM15
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM16
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM17
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM18
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM19
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM20
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM21
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM22
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM23
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM24
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM25
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM26
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM27
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM28
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ITEM_DC
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; TM29
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM30
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM31
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM32
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM33
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM34
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM35
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM36
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM37
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM38
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM39
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM40
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM41
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM42
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM43
+ item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM44
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM45
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM46
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM47
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM48
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM49
+ item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; TM50
+ item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM01
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM02
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM03
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM04
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM05
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM06
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; HM07
+ item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
+; ITEM_FA
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; $fb
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; $fc
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; $fd
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; $fe
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; $ff
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
+; $00
+ item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
diff --git a/data/items/bargain_shop.asm b/data/items/bargain_shop.asm
new file mode 100644
index 00000000..a17db655
--- /dev/null
+++ b/data/items/bargain_shop.asm
@@ -0,0 +1,8 @@
+BargainShopData:
+ db 5
+ dbw NUGGET, 4500
+ dbw PEARL, 650
+ dbw BIG_PEARL, 3500
+ dbw STARDUST, 900
+ dbw STAR_PIECE, 4600
+ db -1
diff --git a/data/items/catch_rate_items.asm b/data/items/catch_rate_items.asm
new file mode 100644
index 00000000..9c39afac
--- /dev/null
+++ b/data/items/catch_rate_items.asm
@@ -0,0 +1,18 @@
+; Pokémon traded from RBY do not have held items, so GSC usually interprets the
+; catch rate as an item. However, if the catch rate appears in this table, the
+; item associated with the table entry is used instead.
+
+TimeCapsule_CatchRateItems:
+ db ITEM_19, LEFTOVERS
+ db ITEM_2D, BITTER_BERRY
+ db ITEM_32, GOLD_BERRY
+ db ITEM_5A, BERRY
+ db ITEM_64, BERRY
+ db ITEM_78, BERRY
+ db ITEM_87, BERRY
+ db ITEM_BE, BERRY
+ db ITEM_C3, BERRY
+ db ITEM_DC, BERRY
+ db ITEM_FA, BERRY
+ db -1, BERRY
+ db 0 ; end
diff --git a/data/items/descriptions.asm b/data/items/descriptions.asm
new file mode 100644
index 00000000..d259b364
--- /dev/null
+++ b/data/items/descriptions.asm
@@ -0,0 +1,1007 @@
+ItemDescriptions:
+; entries correspond to item ids
+ dw MasterBallDesc
+ dw UltraBallDesc
+ dw BrightpowderDesc
+ dw GreatBallDesc
+ dw PokeBallDesc
+ dw TeruSama1Desc
+ dw BicycleDesc
+ dw MoonStoneDesc
+ dw AntidoteDesc
+ dw BurnHealDesc
+ dw IceHealDesc
+ dw AwakeningDesc
+ dw ParlyzHealDesc
+ dw FullRestoreDesc
+ dw MaxPotionDesc
+ dw HyperPotionDesc
+ dw SuperPotionDesc
+ dw PotionDesc
+ dw EscapeRopeDesc
+ dw RepelDesc
+ dw MaxElixerDesc
+ dw FireStoneDesc
+ dw ThunderStoneDesc
+ dw WaterStoneDesc
+ dw TeruSama2Desc
+ dw HPUpDesc
+ dw ProteinDesc
+ dw IronDesc
+ dw CarbosDesc
+ dw LuckyPunchDesc
+ dw CalciumDesc
+ dw RareCandyDesc
+ dw XAccuracyDesc
+ dw LeafStoneDesc
+ dw MetalPowderDesc
+ dw NuggetDesc
+ dw PokeDollDesc
+ dw FullHealDesc
+ dw ReviveDesc
+ dw MaxReviveDesc
+ dw GuardSpecDesc
+ dw SuperRepelDesc
+ dw MaxRepelDesc
+ dw DireHitDesc
+ dw TeruSama3Desc
+ dw FreshWaterDesc
+ dw SodaPopDesc
+ dw LemonadeDesc
+ dw XAttackDesc
+ dw TeruSama4Desc
+ dw XDefendDesc
+ dw XSpeedDesc
+ dw XSpecialDesc
+ dw CoinCaseDesc
+ dw ItemfinderDesc
+ dw TeruSama5Desc
+ dw ExpShareDesc
+ dw OldRodDesc
+ dw GoodRodDesc
+ dw SilverLeafDesc
+ dw SuperRodDesc
+ dw PPUpDesc
+ dw EtherDesc
+ dw MaxEtherDesc
+ dw ElixerDesc
+ dw RedScaleDesc
+ dw SecretPotionDesc
+ dw SSTicketDesc
+ dw MysteryEggDesc
+ dw TeruSama6Desc
+ dw SilverWingDesc
+ dw MoomooMilkDesc
+ dw QuickClawDesc
+ dw PsnCureBerryDesc
+ dw GoldLeafDesc
+ dw SoftSandDesc
+ dw SharpBeakDesc
+ dw PrzCureBerryDesc
+ dw BurntBerryDesc
+ dw IceBerryDesc
+ dw PoisonBarbDesc
+ dw KingsRockDesc
+ dw BitterBerryDesc
+ dw MintBerryDesc
+ dw RedApricornDesc
+ dw TinyMushroomDesc
+ dw BigMushroomDesc
+ dw SilverPowderDesc
+ dw BluApricornDesc
+ dw TeruSama7Desc
+ dw AmuletCoinDesc
+ dw YlwApricornDesc
+ dw GrnApricornDesc
+ dw CleanseTagDesc
+ dw MysticWaterDesc
+ dw TwistedSpoonDesc
+ dw WhtApricornDesc
+ dw BlackbeltDesc
+ dw BlkApricornDesc
+ dw TeruSama8Desc
+ dw PnkApricornDesc
+ dw BlackGlassesDesc
+ dw SlowpokeTailDesc
+ dw PinkBowDesc
+ dw StickDesc
+ dw SmokeBallDesc
+ dw NeverMeltIceDesc
+ dw MagnetDesc
+ dw MiracleBerryDesc
+ dw PearlDesc
+ dw BigPearlDesc
+ dw EverStoneDesc
+ dw SpellTagDesc
+ dw RageCandyBarDesc
+ dw TeruSama9Desc
+ dw TeruSama10Desc
+ dw MiracleSeedDesc
+ dw ThickClubDesc
+ dw FocusBandDesc
+ dw TeruSama11Desc
+ dw EnergyPowderDesc
+ dw EnergyRootDesc
+ dw HealPowderDesc
+ dw RevivalHerbDesc
+ dw HardStoneDesc
+ dw LuckyEggDesc
+ dw CardKeyDesc
+ dw MachinePartDesc
+ dw TeruSama12Desc
+ dw LostItemDesc
+ dw StardustDesc
+ dw StarPieceDesc
+ dw BasementKeyDesc
+ dw PassDesc
+ dw TeruSama13Desc
+ dw TeruSama14Desc
+ dw TeruSama15Desc
+ dw CharcoalDesc
+ dw BerryJuiceDesc
+ dw ScopeLensDesc
+ dw TeruSama16Desc
+ dw TeruSama17Desc
+ dw MetalCoatDesc
+ dw DragonFangDesc
+ dw TeruSama18Desc
+ dw LeftoversDesc
+ dw TeruSama19Desc
+ dw TeruSama20Desc
+ dw TeruSama21Desc
+ dw MysteryBerryDesc
+ dw DragonScaleDesc
+ dw BerserkGeneDesc
+ dw TeruSama22Desc
+ dw TeruSama23Desc
+ dw TeruSama24Desc
+ dw SacredAshDesc
+ dw HeavyBallDesc
+ dw FlowerMailDesc
+ dw LevelBallDesc
+ dw LureBallDesc
+ dw FastBallDesc
+ dw TeruSama25Desc
+ dw LightBallDesc
+ dw FriendBallDesc
+ dw MoonBallDesc
+ dw LoveBallDesc
+ dw NormalBoxDesc
+ dw GorgeousBoxDesc
+ dw SunStoneDesc
+ dw PolkadotBowDesc
+ dw TeruSama26Desc
+ dw UpGradeDesc
+ dw BerryDesc
+ dw GoldBerryDesc
+ dw SquirtBottleDesc
+ dw TeruSama27Desc
+ dw ParkBallDesc
+ dw RainbowWingDesc
+ dw TeruSama28Desc
+ dw BrickPieceDesc
+ dw SurfMailDesc
+ dw LiteBlueMailDesc
+ dw PortraitMailDesc
+ dw LovelyMailDesc
+ dw EonMailDesc
+ dw MorphMailDesc
+ dw BlueSkyMailDesc
+ dw MusicMailDesc
+ dw MirageMailDesc
+ dw TeruSama29Desc
+ dw TeruSama30Desc
+ dw TeruSama30Desc
+ dw TeruSama30Desc
+ dw TeruSama30Desc
+ dw TeruSama30Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama31Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama32Desc
+ dw TeruSama33Desc
+ dw TeruSama34Desc
+ dw TeruSama35Desc
+ dw TeruSama36Desc
+ dw TeruSama37Desc
+ dw TeruSama37Desc
+
+MasterBallDesc:
+ db "The best BALL. It"
+ next "never misses.@"
+
+UltraBallDesc:
+ db "A BALL with a high"
+ next "rate of success.@"
+
+BrightpowderDesc:
+ db "Lowers the foe's"
+ next "accuracy. (HOLD)@"
+
+GreatBallDesc:
+ db "A BALL with a de-"
+ next "cent success rate.@"
+
+PokeBallDesc:
+ db "An item for catch-"
+ next "ing #MON.@"
+
+TeruSama1Desc:
+ db "?@"
+
+BicycleDesc:
+ db "A collapsible bike"
+ next "for fast movement.@"
+
+MoonStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+AntidoteDesc:
+ db "Cures poisoned"
+ next "#MON.@"
+
+BurnHealDesc:
+ db "Heals burned"
+ next "#MON.@"
+
+IceHealDesc:
+ db "Defrosts frozen"
+ next "#MON.@"
+
+AwakeningDesc:
+ db "Awakens sleeping"
+ next "#MON.@"
+
+ParlyzHealDesc:
+ db "Heals paralyzed"
+ next "#MON.@"
+
+FullRestoreDesc:
+ db "Fully restores HP"
+ next "& status.@"
+
+MaxPotionDesc:
+ db "Fully restores"
+ next "#MON HP.@"
+
+HyperPotionDesc:
+ db "Restores #MON"
+ next "HP by 200.@"
+
+SuperPotionDesc:
+ db "Restores #MON"
+ next "HP by 50.@"
+
+PotionDesc:
+ db "Restores #MON"
+ next "HP by 20.@"
+
+EscapeRopeDesc:
+ db "Use for escaping"
+ next "from caves, etc.@"
+
+RepelDesc:
+ db "Repels weak #-"
+ next "MON for 100 steps.@"
+
+MaxElixerDesc:
+ db "Fully restores the"
+ next "PP of one #MON.@"
+
+FireStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+ThunderStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+WaterStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+TeruSama2Desc:
+ db "?@"
+
+HPUpDesc:
+ db "Raises the HP of"
+ next "one #MON.@"
+
+ProteinDesc:
+ db "Raises ATTACK of"
+ next "one #MON.@"
+
+IronDesc:
+ db "Raises DEFENSE of"
+ next "one #MON.@"
+
+CarbosDesc:
+ db "Raises SPEED of"
+ next "one #MON.@"
+
+LuckyPunchDesc:
+ db "Ups critical hit"
+ next "ratio of CHANSEY.@"
+
+CalciumDesc:
+ db "Ups SPECIAL stats"
+ next "of one #MON.@"
+
+RareCandyDesc:
+ db "Raises level of a"
+ next "#MON by one.@"
+
+XAccuracyDesc:
+ db "Raises accuracy."
+ next "(1 BTL)@"
+
+LeafStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+MetalPowderDesc:
+ db "Raises DEFENSE of"
+ next "DITTO. (HOLD)@"
+
+NuggetDesc:
+ db "Made of pure gold."
+ next "Sell high.@"
+
+PokeDollDesc:
+ db "Use to escape from"
+ next "a wild #MON.@"
+
+FullHealDesc:
+ db "Eliminates all"
+ next "status problems.@"
+
+ReviveDesc:
+ db "Restores a fainted"
+ next "#MON to 1/2 HP.@"
+
+MaxReviveDesc:
+ db "Fully restores a"
+ next "fainted #MON.@"
+
+GuardSpecDesc:
+ db "Prevents stat"
+ next "reduction. (1 BTL)@"
+
+SuperRepelDesc:
+ db "Repels weak #-"
+ next "MON for 200 steps.@"
+
+MaxRepelDesc:
+ db "Repels weak #-"
+ next "MON for 250 steps.@"
+
+DireHitDesc:
+ db "Ups critical hit"
+ next "ratio. (1 BTL)@"
+
+TeruSama3Desc:
+ db "?@"
+
+FreshWaterDesc:
+ db "Restores #MON"
+ next "HP by 50.@"
+
+SodaPopDesc:
+ db "Restores #MON"
+ next "HP by 60.@"
+
+LemonadeDesc:
+ db "Restores #MON"
+ next "HP by 80.@"
+
+XAttackDesc:
+ db "Raises ATTACK."
+ next "(1 BTL)@"
+
+TeruSama4Desc:
+ db "?@"
+
+XDefendDesc:
+ db "Raises DEFENSE."
+ next "(1 BTL)@"
+
+XSpeedDesc:
+ db "Raises SPEED."
+ next "(1 BTL)@"
+
+XSpecialDesc:
+ db "Raises SPECIAL"
+ next "stats. (1 BTL)@"
+
+CoinCaseDesc:
+ db "Holds up to 9,999"
+ next "game coins.@"
+
+ItemfinderDesc:
+ db "Checks for unseen"
+ next "items in the area.@"
+
+TeruSama5Desc:
+ db "?@"
+
+ExpShareDesc:
+ db "Shares battle EXP."
+ next "points. (HOLD)@"
+
+OldRodDesc:
+ db "Use by water to"
+ next "fish for #MON.@"
+
+GoodRodDesc:
+ db "A good ROD for"
+ next "catching #MON.@"
+
+SilverLeafDesc:
+ db "A strange, silver-"
+ next "colored leaf.@"
+
+SuperRodDesc:
+ db "The best ROD for"
+ next "catching #MON.@"
+
+PPUpDesc:
+ db "Raises max PP of"
+ next "a selected move.@"
+
+EtherDesc:
+ db "Restores PP of one"
+ next "move by 10.@"
+
+MaxEtherDesc:
+ db "Fully restores PP"
+ next "of one move.@"
+
+ElixerDesc:
+ db "Restores PP of all"
+ next "moves by 10.@"
+
+RedScaleDesc:
+ db "A scale from the"
+ next "red GYARADOS.@"
+
+SecretPotionDesc:
+ db "Fully heals any"
+ next "#MON.@"
+
+SSTicketDesc:
+ db "A ticket for the"
+ next "S.S.AQUA.@"
+
+MysteryEggDesc:
+ db "An EGG obtained"
+ next "from MR.#MON.@"
+
+TeruSama6Desc:
+ db "?@"
+
+SilverWingDesc:
+ db "A strange, silver-"
+ next "colored feather.@"
+
+MoomooMilkDesc:
+ db "Restores #MON"
+ next "HP by 100.@"
+
+QuickClawDesc:
+ db "Raises 1st strike"
+ next "ratio. (HOLD)@"
+
+PsnCureBerryDesc:
+ db "A self-cure for"
+ next "poison. (HOLD)@"
+
+GoldLeafDesc:
+ db "A strange, gold-"
+ next "colored leaf.@"
+
+SoftSandDesc:
+ db "Powers up ground-"
+ next "type moves. (HOLD)@"
+
+SharpBeakDesc:
+ db "Powers up flying-"
+ next "type moves. (HOLD)@"
+
+PrzCureBerryDesc:
+ db "A self-cure for"
+ next "paralysis. (HOLD)@"
+
+BurntBerryDesc:
+ db "A self-cure for"
+ next "freezing. (HOLD)@"
+
+IceBerryDesc:
+ db "A self-heal for a"
+ next "burn. (HOLD)@"
+
+PoisonBarbDesc:
+ db "Powers up poison-"
+ next "type moves. (HOLD)@"
+
+KingsRockDesc:
+ db "May make the foe"
+ next "flinch. (HOLD)@"
+
+BitterBerryDesc:
+ db "A self-cure for"
+ next "confusion. (HOLD)@"
+
+MintBerryDesc:
+ db "A self-awakening"
+ next "for sleep. (HOLD)@"
+
+RedApricornDesc:
+ db "A red APRICORN.@"
+
+TinyMushroomDesc:
+ db "An ordinary mush-"
+ next "room. Sell low.@"
+
+BigMushroomDesc:
+ db "A rare mushroom."
+ next "Sell high.@"
+
+SilverPowderDesc:
+ db "Powers up bug-type"
+ next "moves. (HOLD)@"
+
+BluApricornDesc:
+ db "A blue APRICORN.@"
+
+TeruSama7Desc:
+ db "?@"
+
+AmuletCoinDesc:
+ db "Doubles monetary"
+ next "earnings. (HOLD)@"
+
+YlwApricornDesc:
+ db "A yellow APRICORN.@"
+
+GrnApricornDesc:
+ db "A green APRICORN.@"
+
+CleanseTagDesc:
+ db "Helps repel wild"
+ next "#MON. (HOLD)@"
+
+MysticWaterDesc:
+ db "Powers up water-"
+ next "type moves. (HOLD)@"
+
+TwistedSpoonDesc:
+ db "Powers up psychic-"
+ next "type moves. (HOLD)@"
+
+WhtApricornDesc:
+ db "A white APRICORN.@"
+
+BlackbeltDesc:
+ db "Boosts fighting-"
+ next "type moves. (HOLD)@"
+
+BlkApricornDesc:
+ db "A black APRICORN."
+ next "@"
+
+TeruSama8Desc:
+ db "?@"
+
+PnkApricornDesc:
+ db "A pink APRICORN."
+ next "@"
+
+BlackGlassesDesc:
+ db "Powers up dark-"
+ next "type moves. (HOLD)@"
+
+SlowpokeTailDesc:
+ db "Very tasty. Sell"
+ next "high.@"
+
+PinkBowDesc:
+ db "Powers up normal-"
+ next "type moves. (HOLD)@"
+
+StickDesc:
+ db "An ordinary stick."
+ next "Sell low.@"
+
+SmokeBallDesc:
+ db "Escape from wild"
+ next "#MON. (HOLD)@"
+
+NeverMeltIceDesc:
+ db "Powers up ice-type"
+ next "moves. (HOLD)@"
+
+MagnetDesc:
+ db "Boosts electric-"
+ next "type moves. (HOLD)@"
+
+MiracleBerryDesc:
+ db "Cures all status"
+ next "problems. (HOLD)@"
+
+PearlDesc:
+ db "A beautiful pearl."
+ next "Sell low.@"
+
+BigPearlDesc:
+ db "A big, beautiful"
+ next "pearl. Sell high.@"
+
+EverStoneDesc:
+ db "Stops evolution."
+ next "(HOLD)@"
+
+SpellTagDesc:
+ db "Powers up ghost-"
+ next "type moves. (HOLD)@"
+
+RageCandyBarDesc:
+ db "Restores #MON"
+ next "HP by 20.@"
+
+TeruSama9Desc:
+ db "?@"
+
+TeruSama10Desc:
+ db "?@"
+
+MiracleSeedDesc:
+ db "Powers up grass-"
+ next "type moves. (HOLD)@"
+
+ThickClubDesc:
+ db "A bone of some"
+ next "sort. Sell low.@"
+
+FocusBandDesc:
+ db "May prevent faint-"
+ next "ing. (HOLD)@"
+
+TeruSama11Desc:
+ db "?@"
+
+EnergyPowderDesc:
+ db "Restores #MON"
+ next "HP by 50. Bitter.@"
+
+EnergyRootDesc:
+ db "Restores #MON"
+ next "HP by 200. Bitter.@"
+
+HealPowderDesc:
+ db "Cures all status"
+ next "problems. Bitter.@"
+
+RevivalHerbDesc:
+ db "Revives fainted"
+ next "#MON. Bitter.@"
+
+HardStoneDesc:
+ db "Powers up rock-"
+ next "type moves. (HOLD)@"
+
+LuckyEggDesc:
+ db "Earns extra EXP."
+ next "points. (HOLD)@"
+
+CardKeyDesc:
+ db "Opens shutters in"
+ next "the RADIO TOWER.@"
+
+MachinePartDesc:
+ db "A machine part for"
+ next "the POWER PLANT.@"
+
+TeruSama12Desc:
+ db "?@"
+
+LostItemDesc:
+ db "The # DOLL lost"
+ next "by the COPYCAT.@"
+
+StardustDesc:
+ db "Pretty, red sand."
+ next "Sell high.@"
+
+StarPieceDesc:
+ db "A hunk of red gem."
+ next "Sell very high.@"
+
+BasementKeyDesc:
+ db "Opens doors.@"
+
+PassDesc:
+ db "A ticket for the"
+ next "MAGNET TRAIN.@"
+
+TeruSama13Desc:
+ db "?@"
+
+TeruSama14Desc:
+ db "?@"
+
+TeruSama15Desc:
+ db "?@"
+
+CharcoalDesc:
+ db "Powers up fire-"
+ next "type moves. (HOLD)@"
+
+BerryJuiceDesc:
+ db "Restores #MON"
+ next "HP by 20.@"
+
+ScopeLensDesc:
+ db "Raises critical"
+ next "hit ratio. (HOLD)@"
+
+TeruSama16Desc:
+ db "?@"
+
+TeruSama17Desc:
+ db "?@"
+
+MetalCoatDesc:
+ db "Powers up steel-"
+ next "type moves. (HOLD)@"
+
+DragonFangDesc:
+ db "Powers up dragon-"
+ next "type moves. (HOLD)@"
+
+TeruSama18Desc:
+ db "?@"
+
+LeftoversDesc:
+ db "Restores HP during"
+ next "battle. (HOLD)@"
+
+TeruSama19Desc:
+ db "?@"
+
+TeruSama20Desc:
+ db "?@"
+
+TeruSama21Desc:
+ db "?@"
+
+MysteryBerryDesc:
+ db "A self-restore"
+ next "for PP. (HOLD)@"
+
+DragonScaleDesc:
+ db "A rare dragon-type"
+ next "item.@"
+
+BerserkGeneDesc:
+ db "Boosts ATTACK but"
+ next "causes confusion.@"
+
+TeruSama22Desc:
+ db "?@"
+
+TeruSama23Desc:
+ db "?@"
+
+TeruSama24Desc:
+ db "?@"
+
+SacredAshDesc:
+ db "Fully revives all"
+ next "fainted #MON.@"
+
+HeavyBallDesc:
+ db "A BALL for catch-"
+ next "ing heavy #MON.@"
+
+FlowerMailDesc:
+ db "Flower-print MAIL."
+ next "(HOLD)@"
+
+LevelBallDesc:
+ db "A BALL for lower-"
+ next "level #MON.@"
+
+LureBallDesc:
+ db "A BALL for #MON"
+ next "hooked by a ROD.@"
+
+FastBallDesc:
+ db "A BALL for catch-"
+ next "ing fast #MON.@"
+
+TeruSama25Desc:
+ db "?@"
+
+LightBallDesc:
+ db "An odd, electrical"
+ next "orb. (HOLD)@"
+
+FriendBallDesc:
+ db "A BALL that makes"
+ next "#MON friendly.@"
+
+MoonBallDesc:
+ db "A BALL for MOON"
+ next "STONE evolvers.@"
+
+LoveBallDesc:
+ db "For catching the"
+ next "opposite gender.@"
+
+NormalBoxDesc:
+ db "Open it and see"
+ next "what's inside.@"
+
+GorgeousBoxDesc:
+ db "Open it and see"
+ next "what's inside.@"
+
+SunStoneDesc:
+ db "Evolves certain"
+ next "kinds of #MON.@"
+
+PolkadotBowDesc:
+ db "Powers up normal-"
+ next "type moves. (HOLD)@"
+
+TeruSama26Desc:
+ db "?@"
+
+UpGradeDesc:
+ db "A mysterious box"
+ next "made by SILPH CO.@"
+
+BerryDesc:
+ db "A self-restore"
+ next "item. (10HP, HOLD)@"
+
+GoldBerryDesc:
+ db "A self-restore"
+ next "item. (30HP, HOLD)@"
+
+SquirtBottleDesc:
+ db "A bottle used for"
+ next "watering plants.@"
+
+TeruSama27Desc:
+ db "?@"
+
+ParkBallDesc:
+ db "The Bug-Catching"
+ next "Contest BALL.@"
+
+RainbowWingDesc:
+ db "A mystical feather"
+ next "of rainbow colors.@"
+
+TeruSama28Desc:
+ db "?@"
+
+BrickPieceDesc:
+ db "A rare chunk of"
+ next "brick.@"
+
+SurfMailDesc:
+ db "LAPRAS-print MAIL."
+ next "(HOLD)@"
+
+LiteBlueMailDesc:
+ db "DRATINI-print"
+ next "MAIL. (HOLD)@"
+
+PortraitMailDesc:
+ db "MAIL featuring the"
+ next "holder's likeness.@"
+
+LovelyMailDesc:
+ db "Heart-print MAIL."
+ next "(HOLD)@"
+
+EonMailDesc:
+ db "EEVEE-print MAIL."
+ next "(HOLD)@"
+
+MorphMailDesc:
+ db "DITTO-print MAIL."
+ next "(HOLD)@"
+
+BlueSkyMailDesc:
+ db "Sky-print MAIL."
+ next "(HOLD)@"
+
+MusicMailDesc:
+ db "NATU-print MAIL."
+ next "(HOLD)@"
+
+MirageMailDesc:
+ db "MEW-print MAIL."
+ next "(HOLD)@"
+
+TeruSama29Desc:
+ db "?@"
+
+TeruSama30Desc:
+ db "?@"
+
+TeruSama31Desc:
+ db "?@"
+
+TeruSama32Desc:
+ db "?@"
+
+TeruSama33Desc:
+ db "?@"
+
+TeruSama34Desc:
+ db "?@"
+
+TeruSama35Desc:
+ db "?@"
+
+TeruSama36Desc:
+ db "?@"
+
+TeruSama37Desc:
+ db "?@"
diff --git a/data/items/heal_hp.asm b/data/items/heal_hp.asm
new file mode 100644
index 00000000..cc3da236
--- /dev/null
+++ b/data/items/heal_hp.asm
@@ -0,0 +1,17 @@
+HealingHPAmounts:
+ 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
diff --git a/data/items/heal_status.asm b/data/items/heal_status.asm
new file mode 100644
index 00000000..b39f2f80
--- /dev/null
+++ b/data/items/heal_status.asm
@@ -0,0 +1,19 @@
+; See also data/battle/held_heal_status.asm
+
+StatusHealingActions:
+ ; 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
diff --git a/data/items/mail_items.asm b/data/items/mail_items.asm
new file mode 100644
index 00000000..388613d9
--- /dev/null
+++ b/data/items/mail_items.asm
@@ -0,0 +1,12 @@
+MailItems:
+ db FLOWER_MAIL
+ db SURF_MAIL
+ db LITEBLUEMAIL
+ db PORTRAITMAIL
+ db LOVELY_MAIL
+ db EON_MAIL
+ db MORPH_MAIL
+ db BLUESKY_MAIL
+ db MUSIC_MAIL
+ db MIRAGE_MAIL
+ db -1
diff --git a/data/items/marts.asm b/data/items/marts.asm
new file mode 100644
index 00000000..1d48ea53
--- /dev/null
+++ b/data/items/marts.asm
@@ -0,0 +1,406 @@
+Marts:
+; entries correspond to MART_* constants
+ dw MartCherrygrove
+ dw MartCherrygroveDex
+ dw MartViolet
+ dw MartAzalea
+ dw MartCianwood
+ dw MartGoldenrod2F1
+ dw MartGoldenrod2F2
+ dw MartGoldenrod3F
+ dw MartGoldenrod4F
+ dw MartGoldenrod5F1
+ dw MartGoldenrod5F2
+ dw MartGoldenrod5F3
+ dw MartGoldenrod5F4
+ dw MartOlivine
+ dw MartEcruteak
+ dw MartMahogany1
+ dw MartMahogany2
+ dw MartBlackthorn
+ dw MartViridian
+ dw MartPewter
+ dw MartCerulean
+ dw MartLavender
+ dw MartVermilion
+ dw MartCeladon2F1
+ dw MartCeladon2F2
+ dw MartCeladon3F
+ dw MartCeladon4F
+ dw MartCeladon5F1
+ dw MartCeladon5F2
+ dw MartFuchsia
+ dw MartSaffron
+ dw MartMtMoon
+ dw MartIndigoPlateau
+ dw MartUnderground
+.End
+
+MartCherrygrove:
+ db 4 ; # items
+ db POTION
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db -1 ; end
+
+MartCherrygroveDex:
+ db 5 ; # items
+ db POKE_BALL
+ db POTION
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db -1 ; end
+
+MartViolet:
+ db 10 ; # items
+ db POKE_BALL
+ db POTION
+ db ESCAPE_ROPE
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db X_DEFEND
+ db X_ATTACK
+ db X_SPEED
+ db FLOWER_MAIL
+ db -1 ; end
+
+MartAzalea:
+ db 9 ; # items
+ db CHARCOAL
+ db POKE_BALL
+ db POTION
+ db SUPER_POTION
+ db ESCAPE_ROPE
+ db REPEL
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db FLOWER_MAIL
+ db -1 ; end
+
+MartCianwood:
+ db 5 ; # items
+ db POTION
+ db SUPER_POTION
+ db HYPER_POTION
+ db FULL_HEAL
+ db REVIVE
+ db -1 ; end
+
+MartGoldenrod2F1:
+ db 7 ; # items
+ db POTION
+ db SUPER_POTION
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db BURN_HEAL
+ db ICE_HEAL
+ db -1 ; end
+
+MartGoldenrod2F2:
+ db 8 ; # items
+ db POKE_BALL
+ db GREAT_BALL
+ db ESCAPE_ROPE
+ db REPEL
+ db REVIVE
+ db FULL_HEAL
+ db POKE_DOLL
+ db FLOWER_MAIL
+ db -1 ; end
+
+MartGoldenrod3F:
+ db 7 ; # items
+ db X_SPEED
+ db X_SPECIAL
+ db X_DEFEND
+ db X_ATTACK
+ db DIRE_HIT
+ db GUARD_SPEC
+ db X_ACCURACY
+ db -1 ; end
+
+MartGoldenrod4F:
+ db 5 ; # items
+ db PROTEIN
+ db IRON
+ db CARBOS
+ db CALCIUM
+ db HP_UP
+ db -1 ; end
+
+MartGoldenrod5F1:
+ db 3 ; # items
+ db TM_THUNDERPUNCH
+ db TM_FIRE_PUNCH
+ db TM_ICE_PUNCH
+ db -1 ; end
+
+MartGoldenrod5F2:
+ db 4 ; # items
+ db TM_THUNDERPUNCH
+ db TM_FIRE_PUNCH
+ db TM_ICE_PUNCH
+ db TM_HEADBUTT
+ db -1 ; end
+
+MartGoldenrod5F3:
+ db 4 ; # items
+ db TM_THUNDERPUNCH
+ db TM_FIRE_PUNCH
+ db TM_ICE_PUNCH
+ db TM_ROCK_SMASH
+ db -1 ; end
+
+MartGoldenrod5F4:
+ db 5 ; # items
+ db TM_THUNDERPUNCH
+ db TM_FIRE_PUNCH
+ db TM_ICE_PUNCH
+ db TM_HEADBUTT
+ db TM_ROCK_SMASH
+ db -1 ; end
+
+MartOlivine:
+ db 9 ; # items
+ db GREAT_BALL
+ db SUPER_POTION
+ db HYPER_POTION
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db ICE_HEAL
+ db SUPER_REPEL
+ db SURF_MAIL
+ db -1 ; end
+
+MartEcruteak:
+ db 10 ; # items
+ db POKE_BALL
+ db GREAT_BALL
+ db POTION
+ db SUPER_POTION
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db BURN_HEAL
+ db ICE_HEAL
+ db REVIVE
+ db -1 ; end
+
+MartMahogany1:
+ db 4 ; # items
+ db TINYMUSHROOM
+ db SLOWPOKETAIL
+ db POKE_BALL
+ db POTION
+ db -1 ; end
+
+MartMahogany2:
+ db 9 ; # items
+ db RAGECANDYBAR
+ db GREAT_BALL
+ db SUPER_POTION
+ db HYPER_POTION
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db SUPER_REPEL
+ db REVIVE
+ db FLOWER_MAIL
+ db -1 ; end
+
+MartBlackthorn:
+ db 9 ; # items
+ db GREAT_BALL
+ db ULTRA_BALL
+ db HYPER_POTION
+ db MAX_POTION
+ db FULL_HEAL
+ db REVIVE
+ db MAX_REPEL
+ db X_DEFEND
+ db X_ATTACK
+ db -1 ; end
+
+MartViridian:
+ db 9 ; # items
+ db ULTRA_BALL
+ db HYPER_POTION
+ db FULL_HEAL
+ db REVIVE
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db BURN_HEAL
+ db FLOWER_MAIL
+ db -1 ; end
+
+MartPewter:
+ db 7 ; # items
+ db GREAT_BALL
+ db SUPER_POTION
+ db SUPER_REPEL
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db BURN_HEAL
+ db -1 ; end
+
+MartCerulean:
+ db 9 ; # items
+ db GREAT_BALL
+ db ULTRA_BALL
+ db SUPER_POTION
+ db SUPER_REPEL
+ db FULL_HEAL
+ db X_DEFEND
+ db X_ATTACK
+ db DIRE_HIT
+ db SURF_MAIL
+ db -1 ; end
+
+MartLavender:
+ db 8 ; # items
+ db GREAT_BALL
+ db POTION
+ db SUPER_POTION
+ db MAX_REPEL
+ db ANTIDOTE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db BURN_HEAL
+ db -1 ; end
+
+MartVermilion:
+ db 8 ; # items
+ db ULTRA_BALL
+ db SUPER_POTION
+ db HYPER_POTION
+ db REVIVE
+ db PARLYZ_HEAL
+ db AWAKENING
+ db BURN_HEAL
+ db LITEBLUEMAIL
+ db -1 ; end
+
+MartCeladon2F1:
+ db 7 ; # items
+ db POTION
+ db SUPER_POTION
+ db HYPER_POTION
+ db MAX_POTION
+ db REVIVE
+ db SUPER_REPEL
+ db MAX_REPEL
+ db -1 ; end
+
+MartCeladon2F2:
+ db 10 ; # items
+ db POKE_BALL
+ db GREAT_BALL
+ db ULTRA_BALL
+ db ESCAPE_ROPE
+ db FULL_HEAL
+ db ANTIDOTE
+ db BURN_HEAL
+ db ICE_HEAL
+ db AWAKENING
+ db PARLYZ_HEAL
+ db -1 ; end
+
+MartCeladon3F:
+ db 5 ; # items
+ db TM_HIDDEN_POWER
+ db TM_SUNNY_DAY
+ db TM_PROTECT
+ db TM_RAIN_DANCE
+ db TM_SANDSTORM
+ db -1 ; end
+
+MartCeladon4F:
+ db 3 ; # items
+ db POKE_DOLL
+ db LOVELY_MAIL
+ db SURF_MAIL
+ db -1 ; end
+
+MartCeladon5F1:
+ db 5 ; # items
+ db HP_UP
+ db PROTEIN
+ db IRON
+ db CARBOS
+ db CALCIUM
+ db -1 ; end
+
+MartCeladon5F2:
+ db 7 ; # items
+ db X_ACCURACY
+ db GUARD_SPEC
+ db DIRE_HIT
+ db X_ATTACK
+ db X_DEFEND
+ db X_SPEED
+ db X_SPECIAL
+ db -1 ; end
+
+MartFuchsia:
+ db 7 ; # items
+ db GREAT_BALL
+ db ULTRA_BALL
+ db SUPER_POTION
+ db HYPER_POTION
+ db FULL_HEAL
+ db MAX_REPEL
+ db FLOWER_MAIL
+ db -1 ; end
+
+MartSaffron:
+ db 8 ; # items
+ db GREAT_BALL
+ db ULTRA_BALL
+ db HYPER_POTION
+ db MAX_POTION
+ db FULL_HEAL
+ db X_ATTACK
+ db X_DEFEND
+ db FLOWER_MAIL
+ db -1 ; end
+
+MartMtMoon:
+ db 6 ; # items
+ db POKE_DOLL
+ db FRESH_WATER
+ db SODA_POP
+ db LEMONADE
+ db REPEL
+ db PORTRAITMAIL
+ db -1 ; end
+
+MartIndigoPlateau:
+ db 7 ; # items
+ db ULTRA_BALL
+ db MAX_REPEL
+ db HYPER_POTION
+ db MAX_POTION
+ db FULL_RESTORE
+ db REVIVE
+ db FULL_HEAL
+ db -1 ; end
+
+MartUnderground:
+ db 4 ; # items
+ db ENERGYPOWDER
+ db ENERGY_ROOT
+ db HEAL_POWDER
+ db REVIVAL_HERB
+ db -1 ; end
+
+DefaultMart:
+ db 2 ; # items
+ db POKE_BALL
+ db POTION
+ db -1 ; end
diff --git a/data/items/mystery_gift_items.asm b/data/items/mystery_gift_items.asm
new file mode 100644
index 00000000..242035ea
--- /dev/null
+++ b/data/items/mystery_gift_items.asm
@@ -0,0 +1,39 @@
+MysteryGiftItems:
+ db BERRY
+ db PRZCUREBERRY
+ db MINT_BERRY
+ db ICE_BERRY
+ db BURNT_BERRY
+ db PSNCUREBERRY
+ db GUARD_SPEC
+ db X_DEFEND
+ db X_ATTACK
+ db BITTER_BERRY
+ db DIRE_HIT
+ db X_SPECIAL
+ db X_ACCURACY
+ db EON_MAIL
+ db MORPH_MAIL
+ db MUSIC_MAIL
+ db MIRACLEBERRY
+ db GOLD_BERRY
+ db REVIVE
+ db GREAT_BALL
+ db SUPER_REPEL
+ db MAX_REPEL
+ db ELIXER
+ db ETHER
+ db WATER_STONE
+ db FIRE_STONE
+ db LEAF_STONE
+ db THUNDERSTONE
+ db MAX_ETHER
+ db MAX_ELIXER
+ db MAX_REVIVE
+ db SCOPE_LENS
+ db HP_UP
+ db PP_UP
+ db RARE_CANDY
+ db BLUESKY_MAIL
+ db MIRAGE_MAIL
+.End
diff --git a/data/items/names.asm b/data/items/names.asm
new file mode 100644
index 00000000..e50567d7
--- /dev/null
+++ b/data/items/names.asm
@@ -0,0 +1,257 @@
+ItemNames::
+ db "MASTER BALL@"
+ db "ULTRA BALL@"
+ db "BRIGHTPOWDER@"
+ db "GREAT BALL@"
+ db "# BALL@"
+ db "TERU-SAMA@"
+ db "BICYCLE@"
+ db "MOON STONE@"
+ db "ANTIDOTE@"
+ db "BURN HEAL@"
+ db "ICE HEAL@"
+ db "AWAKENING@"
+ db "PARLYZ HEAL@"
+ db "FULL RESTORE@"
+ db "MAX POTION@"
+ db "HYPER POTION@"
+ db "SUPER POTION@"
+ db "POTION@"
+ db "ESCAPE ROPE@"
+ db "REPEL@"
+ db "MAX ELIXER@"
+ db "FIRE STONE@"
+ db "THUNDERSTONE@"
+ db "WATER STONE@"
+ db "TERU-SAMA@"
+ db "HP UP@"
+ db "PROTEIN@"
+ db "IRON@"
+ db "CARBOS@"
+ db "LUCKY PUNCH@"
+ db "CALCIUM@"
+ db "RARE CANDY@"
+ db "X ACCURACY@"
+ db "LEAF STONE@"
+ db "METAL POWDER@"
+ db "NUGGET@"
+ db "# DOLL@"
+ db "FULL HEAL@"
+ db "REVIVE@"
+ db "MAX REVIVE@"
+ db "GUARD SPEC.@"
+ db "SUPER REPEL@"
+ db "MAX REPEL@"
+ db "DIRE HIT@"
+ db "TERU-SAMA@"
+ db "FRESH WATER@"
+ db "SODA POP@"
+ db "LEMONADE@"
+ db "X ATTACK@"
+ db "TERU-SAMA@"
+ db "X DEFEND@"
+ db "X SPEED@"
+ db "X SPECIAL@"
+ db "COIN CASE@"
+ db "ITEMFINDER@"
+ db "TERU-SAMA@"
+ db "EXP.SHARE@"
+ db "OLD ROD@"
+ db "GOOD ROD@"
+ db "SILVER LEAF@"
+ db "SUPER ROD@"
+ db "PP UP@"
+ db "ETHER@"
+ db "MAX ETHER@"
+ db "ELIXER@"
+ db "RED SCALE@"
+ db "SECRETPOTION@"
+ db "S.S.TICKET@"
+ db "MYSTERY EGG@"
+ db "TERU-SAMA@"
+ db "SILVER WING@"
+ db "MOOMOO MILK@"
+ db "QUICK CLAW@"
+ db "PSNCUREBERRY@"
+ db "GOLD LEAF@"
+ db "SOFT SAND@"
+ db "SHARP BEAK@"
+ db "PRZCUREBERRY@"
+ db "BURNT BERRY@"
+ db "ICE BERRY@"
+ db "POISON BARB@"
+ db "KING'S ROCK@"
+ db "BITTER BERRY@"
+ db "MINT BERRY@"
+ db "RED APRICORN@"
+ db "TINYMUSHROOM@"
+ db "BIG MUSHROOM@"
+ db "SILVERPOWDER@"
+ db "BLU APRICORN@"
+ db "TERU-SAMA@"
+ db "AMULET COIN@"
+ db "YLW APRICORN@"
+ db "GRN APRICORN@"
+ db "CLEANSE TAG@"
+ db "MYSTIC WATER@"
+ db "TWISTEDSPOON@"
+ db "WHT APRICORN@"
+ db "BLACKBELT@"
+ db "BLK APRICORN@"
+ db "TERU-SAMA@"
+ db "PNK APRICORN@"
+ db "BLACKGLASSES@"
+ db "SLOWPOKETAIL@"
+ db "PINK BOW@"
+ db "STICK@"
+ db "SMOKE BALL@"
+ db "NEVERMELTICE@"
+ db "MAGNET@"
+ db "MIRACLEBERRY@"
+ db "PEARL@"
+ db "BIG PEARL@"
+ db "EVERSTONE@"
+ db "SPELL TAG@"
+ db "RAGECANDYBAR@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "MIRACLE SEED@"
+ db "THICK CLUB@"
+ db "FOCUS BAND@"
+ db "TERU-SAMA@"
+ db "ENERGYPOWDER@"
+ db "ENERGY ROOT@"
+ db "HEAL POWDER@"
+ db "REVIVAL HERB@"
+ db "HARD STONE@"
+ db "LUCKY EGG@"
+ db "CARD KEY@"
+ db "MACHINE PART@"
+ db "TERU-SAMA@"
+ db "LOST ITEM@"
+ db "STARDUST@"
+ db "STAR PIECE@"
+ db "BASEMENT KEY@"
+ db "PASS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "CHARCOAL@"
+ db "BERRY JUICE@"
+ db "SCOPE LENS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "METAL COAT@"
+ db "DRAGON FANG@"
+ db "TERU-SAMA@"
+ db "LEFTOVERS@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "MYSTERYBERRY@"
+ db "DRAGON SCALE@"
+ db "BERSERK GENE@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "SACRED ASH@"
+ db "HEAVY BALL@"
+ db "FLOWER MAIL@"
+ db "LEVEL BALL@"
+ db "LURE BALL@"
+ db "FAST BALL@"
+ db "TERU-SAMA@"
+ db "LIGHT BALL@"
+ db "FRIEND BALL@"
+ db "MOON BALL@"
+ db "LOVE BALL@"
+ db "NORMAL BOX@"
+ db "GORGEOUS BOX@"
+ db "SUN STONE@"
+ db "POLKADOT BOW@"
+ db "TERU-SAMA@"
+ db "UP-GRADE@"
+ db "BERRY@"
+ db "GOLD BERRY@"
+ db "SQUIRTBOTTLE@"
+ db "TERU-SAMA@"
+ db "PARK BALL@"
+ db "RAINBOW WING@"
+ db "TERU-SAMA@"
+ db "BRICK PIECE@"
+ db "SURF MAIL@"
+ db "LITEBLUEMAIL@"
+ db "PORTRAITMAIL@"
+ db "LOVELY MAIL@"
+ db "EON MAIL@"
+ db "MORPH MAIL@"
+ db "BLUESKY MAIL@"
+ db "MUSIC MAIL@"
+ db "MIRAGE MAIL@"
+ db "TERU-SAMA@"
+ db "TM01@"
+ db "TM02@"
+ db "TM03@"
+ db "TM04@"
+ db "TERU-SAMA@"
+ db "TM05@"
+ db "TM06@"
+ db "TM07@"
+ db "TM08@"
+ db "TM09@"
+ db "TM10@"
+ db "TM11@"
+ db "TM12@"
+ db "TM13@"
+ db "TM14@"
+ db "TM15@"
+ db "TM16@"
+ db "TM17@"
+ db "TM18@"
+ db "TM19@"
+ db "TM20@"
+ db "TM21@"
+ db "TM22@"
+ db "TM23@"
+ db "TM24@"
+ db "TM25@"
+ db "TM26@"
+ db "TM27@"
+ db "TM28@"
+ db "TERU-SAMA@"
+ db "TM29@"
+ db "TM30@"
+ db "TM31@"
+ db "TM32@"
+ db "TM33@"
+ db "TM34@"
+ db "TM35@"
+ db "TM36@"
+ db "TM37@"
+ db "TM38@"
+ db "TM39@"
+ db "TM40@"
+ db "TM41@"
+ db "TM42@"
+ db "TM43@"
+ db "TM44@"
+ db "TM45@"
+ db "TM46@"
+ db "TM47@"
+ db "TM48@"
+ db "TM49@"
+ db "TM50@"
+ db "HM01@"
+ db "HM02@"
+ db "HM03@"
+ db "HM04@"
+ db "HM05@"
+ db "HM06@"
+ db "HM07@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "TERU-SAMA@"
+ db "?@"
diff --git a/data/items/pocket_names.asm b/data/items/pocket_names.asm
new file mode 100644
index 00000000..880e08fe
--- /dev/null
+++ b/data/items/pocket_names.asm
@@ -0,0 +1,11 @@
+ItemPocketNames:
+; entries correspond to item type constants
+ dw .Item
+ dw .Key
+ dw .Ball
+ dw .TM
+
+.Item: db "ITEM POCKET@"
+.Key: db "KEY POCKET@"
+.Ball: db "BALL POCKET@"
+.TM: db "TM POCKET@"
diff --git a/data/items/x_stats.asm b/data/items/x_stats.asm
new file mode 100644
index 00000000..25554209
--- /dev/null
+++ b/data/items/x_stats.asm
@@ -0,0 +1,6 @@
+XItemStats:
+ ; item, stat
+ db X_ATTACK, ATTACK
+ db X_DEFEND, DEFENSE
+ db X_SPEED, SPEED
+ db X_SPECIAL, SP_ATTACK