summaryrefslogtreecommitdiff
path: root/data/items/key_items.asm
diff options
context:
space:
mode:
Diffstat (limited to 'data/items/key_items.asm')
-rw-r--r--data/items/key_items.asm191
1 files changed, 86 insertions, 105 deletions
diff --git a/data/items/key_items.asm b/data/items/key_items.asm
index 13a69ea4..b0c4b1ad 100644
--- a/data/items/key_items.asm
+++ b/data/items/key_items.asm
@@ -1,105 +1,86 @@
-key_item_bits: MACRO
-_bit = 0
-_byte = 0
-REPT _NARG
-_byte = _byte | ((\1) << _bit)
-_bit = _bit + 1
-IF _bit == 8
- db _byte
-_byte = 0
-_bit = 0
-ENDC
-SHIFT
-ENDR
-IF _bit > 0
- db _byte
-ENDC
-ENDM
-
-KeyItemBitfield:
- table_width 1, KeyItemBitfield
- key_item_bits \
- FALSE, \ ; MASTER_BALL
- FALSE, \ ; ULTRA_BALL
- FALSE, \ ; GREAT_BALL
- FALSE, \ ; POKE_BALL
- TRUE, \ ; TOWN_MAP
- TRUE, \ ; BICYCLE
- TRUE, \ ; SURFBOARD
- TRUE, \ ; SAFARI_BALL
- TRUE, \ ; POKEDEX
- FALSE, \ ; MOON_STONE
- FALSE, \ ; ANTIDOTE
- FALSE, \ ; BURN_HEAL
- FALSE, \ ; ICE_HEAL
- FALSE, \ ; AWAKENING
- FALSE, \ ; PARLYZ_HEAL
- FALSE, \ ; FULL_RESTORE
- FALSE, \ ; MAX_POTION
- FALSE, \ ; HYPER_POTION
- FALSE, \ ; SUPER_POTION
- FALSE, \ ; POTION
- TRUE, \ ; BOULDERBADGE
- TRUE, \ ; CASCADEBADGE
- TRUE, \ ; THUNDERBADGE
- TRUE, \ ; RAINBOWBADGE
- TRUE, \ ; SOULBADGE
- TRUE, \ ; MARSHBADGE
- TRUE, \ ; VOLCANOBADGE
- TRUE, \ ; EARTHBADGE
- FALSE, \ ; ESCAPE_ROPE
- FALSE, \ ; REPEL
- TRUE, \ ; OLD_AMBER
- FALSE, \ ; FIRE_STONE
- FALSE, \ ; THUNDER_STONE
- FALSE, \ ; WATER_STONE
- FALSE, \ ; HP_UP
- FALSE, \ ; PROTEIN
- FALSE, \ ; IRON
- FALSE, \ ; CARBOS
- FALSE, \ ; CALCIUM
- FALSE, \ ; RARE_CANDY
- TRUE, \ ; DOME_FOSSIL
- TRUE, \ ; HELIX_FOSSIL
- TRUE, \ ; SECRET_KEY
- TRUE, \ ; UNUSED_ITEM
- TRUE, \ ; BIKE_VOUCHER
- FALSE, \ ; X_ACCURACY
- FALSE, \ ; LEAF_STONE
- TRUE, \ ; CARD_KEY
- FALSE, \ ; NUGGET
- FALSE, \ ; PP_UP_2
- FALSE, \ ; POKE_DOLL
- FALSE, \ ; FULL_HEAL
- FALSE, \ ; REVIVE
- FALSE, \ ; MAX_REVIVE
- FALSE, \ ; GUARD_SPEC
- FALSE, \ ; SUPER_REPEL
- FALSE, \ ; MAX_REPEL
- FALSE, \ ; DIRE_HIT
- FALSE, \ ; COIN
- FALSE, \ ; FRESH_WATER
- FALSE, \ ; SODA_POP
- FALSE, \ ; LEMONADE
- TRUE, \ ; S_S_TICKET
- TRUE, \ ; GOLD_TEETH
- FALSE, \ ; X_ATTACK
- FALSE, \ ; X_DEFEND
- FALSE, \ ; X_SPEED
- FALSE, \ ; X_SPECIAL
- TRUE, \ ; COIN_CASE
- TRUE, \ ; OAKS_PARCEL
- TRUE, \ ; ITEMFINDER
- TRUE, \ ; SILPH_SCOPE
- TRUE, \ ; POKE_FLUTE
- TRUE, \ ; LIFT_KEY
- FALSE, \ ; EXP_ALL
- TRUE, \ ; OLD_ROD
- TRUE, \ ; GOOD_ROD
- TRUE, \ ; SUPER_ROD
- FALSE, \ ; PP_UP
- FALSE, \ ; ETHER
- FALSE, \ ; MAX_ETHER
- FALSE, \ ; ELIXER
- FALSE ; MAX_ELIXER
- assert_table_length (NUM_ITEMS + 7) / 8
+KeyItemFlags:
+ bit_array KeyItemFlags
+ dbit FALSE ; MASTER_BALL
+ dbit FALSE ; ULTRA_BALL
+ dbit FALSE ; GREAT_BALL
+ dbit FALSE ; POKE_BALL
+ dbit TRUE ; TOWN_MAP
+ dbit TRUE ; BICYCLE
+ dbit TRUE ; SURFBOARD
+ dbit TRUE ; SAFARI_BALL
+ dbit TRUE ; POKEDEX
+ dbit FALSE ; MOON_STONE
+ dbit FALSE ; ANTIDOTE
+ dbit FALSE ; BURN_HEAL
+ dbit FALSE ; ICE_HEAL
+ dbit FALSE ; AWAKENING
+ dbit FALSE ; PARLYZ_HEAL
+ dbit FALSE ; FULL_RESTORE
+ dbit FALSE ; MAX_POTION
+ dbit FALSE ; HYPER_POTION
+ dbit FALSE ; SUPER_POTION
+ dbit FALSE ; POTION
+ dbit TRUE ; BOULDERBADGE
+ dbit TRUE ; CASCADEBADGE
+ dbit TRUE ; THUNDERBADGE
+ dbit TRUE ; RAINBOWBADGE
+ dbit TRUE ; SOULBADGE
+ dbit TRUE ; MARSHBADGE
+ dbit TRUE ; VOLCANOBADGE
+ dbit TRUE ; EARTHBADGE
+ dbit FALSE ; ESCAPE_ROPE
+ dbit FALSE ; REPEL
+ dbit TRUE ; OLD_AMBER
+ dbit FALSE ; FIRE_STONE
+ dbit FALSE ; THUNDER_STONE
+ dbit FALSE ; WATER_STONE
+ dbit FALSE ; HP_UP
+ dbit FALSE ; PROTEIN
+ dbit FALSE ; IRON
+ dbit FALSE ; CARBOS
+ dbit FALSE ; CALCIUM
+ dbit FALSE ; RARE_CANDY
+ dbit TRUE ; DOME_FOSSIL
+ dbit TRUE ; HELIX_FOSSIL
+ dbit TRUE ; SECRET_KEY
+ dbit TRUE ; UNUSED_ITEM
+ dbit TRUE ; BIKE_VOUCHER
+ dbit FALSE ; X_ACCURACY
+ dbit FALSE ; LEAF_STONE
+ dbit TRUE ; CARD_KEY
+ dbit FALSE ; NUGGET
+ dbit FALSE ; PP_UP_2
+ dbit FALSE ; POKE_DOLL
+ dbit FALSE ; FULL_HEAL
+ dbit FALSE ; REVIVE
+ dbit FALSE ; MAX_REVIVE
+ dbit FALSE ; GUARD_SPEC
+ dbit FALSE ; SUPER_REPEL
+ dbit FALSE ; MAX_REPEL
+ dbit FALSE ; DIRE_HIT
+ dbit FALSE ; COIN
+ dbit FALSE ; FRESH_WATER
+ dbit FALSE ; SODA_POP
+ dbit FALSE ; LEMONADE
+ dbit TRUE ; S_S_TICKET
+ dbit TRUE ; GOLD_TEETH
+ dbit FALSE ; X_ATTACK
+ dbit FALSE ; X_DEFEND
+ dbit FALSE ; X_SPEED
+ dbit FALSE ; X_SPECIAL
+ dbit TRUE ; COIN_CASE
+ dbit TRUE ; OAKS_PARCEL
+ dbit TRUE ; ITEMFINDER
+ dbit TRUE ; SILPH_SCOPE
+ dbit TRUE ; POKE_FLUTE
+ dbit TRUE ; LIFT_KEY
+ dbit FALSE ; EXP_ALL
+ dbit TRUE ; OLD_ROD
+ dbit TRUE ; GOOD_ROD
+ dbit TRUE ; SUPER_ROD
+ dbit FALSE ; PP_UP
+ dbit FALSE ; ETHER
+ dbit FALSE ; MAX_ETHER
+ dbit FALSE ; ELIXER
+ dbit FALSE ; MAX_ELIXER
+ end_bit_array NUM_ITEMS