1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
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
|