shithub: pokecrystal

ref: 0dd914e5f9d3fd41ad9d440d9f2c2baa20b42aee
dir: /constants/item_constants.asm/

View raw version
; item ids
; indexes for:
; - ItemAttributes (see items/item_attributes.asm)
; - ItemDescriptions (see items/item_descriptions.asm)
; - ItemEffects (see items/item_effects.asm)
; - ItemNames (see items/item_names.asm)
	const_def
	const NO_ITEM      ; $00
	const MASTER_BALL  ; $01
	const ULTRA_BALL   ; $02
	const BRIGHTPOWDER ; $03
	const GREAT_BALL   ; $04
	const POKE_BALL    ; $05
	const TOWN_MAP     ; $06
	const BICYCLE      ; $07
	const MOON_STONE   ; $08
	const ANTIDOTE     ; $09
	const BURN_HEAL    ; $0A
	const ICE_HEAL     ; $0B
	const AWAKENING    ; $0C
	const PARLYZ_HEAL  ; $0D
	const FULL_RESTORE ; $0E
	const MAX_POTION   ; $0F
	const HYPER_POTION ; $10
	const SUPER_POTION ; $11
	const POTION       ; $12
	const ESCAPE_ROPE  ; $13
	const REPEL        ; $14
	const MAX_ELIXER   ; $15
	const FIRE_STONE   ; $16
	const THUNDERSTONE ; $17
	const WATER_STONE  ; $18
	const ITEM_19      ; $19
	const HP_UP        ; $1A
	const PROTEIN      ; $1B
	const IRON         ; $1C
	const CARBOS       ; $1D
	const LUCKY_PUNCH  ; $1E
	const CALCIUM      ; $1F
	const RARE_CANDY   ; $20
	const X_ACCURACY   ; $21
	const LEAF_STONE   ; $22
	const METAL_POWDER ; $23
	const NUGGET       ; $24
	const POKE_DOLL    ; $25
	const FULL_HEAL    ; $26
	const REVIVE       ; $27
	const MAX_REVIVE   ; $28
	const GUARD_SPEC   ; $29
	const SUPER_REPEL  ; $2A
	const MAX_REPEL    ; $2B
	const DIRE_HIT     ; $2C
	const ITEM_2D      ; $2D
	const FRESH_WATER  ; $2E
	const SODA_POP     ; $2F
	const LEMONADE     ; $30
	const X_ATTACK     ; $31
	const ITEM_32      ; $32
	const X_DEFEND     ; $33
	const X_SPEED      ; $34
	const X_SPECIAL    ; $35
	const COIN_CASE    ; $36
	const ITEMFINDER   ; $37
	const POKE_FLUTE   ; $38
	const EXP_SHARE    ; $39
	const OLD_ROD      ; $3A
	const GOOD_ROD     ; $3B
	const SILVER_LEAF  ; $3C
	const SUPER_ROD    ; $3D
	const PP_UP        ; $3E
	const ETHER        ; $3F
	const MAX_ETHER    ; $40
	const ELIXER       ; $41
	const RED_SCALE    ; $42
	const SECRETPOTION ; $43
	const S_S_TICKET   ; $44
	const MYSTERY_EGG  ; $45
	const CLEAR_BELL   ; $46
	const SILVER_WING  ; $47
	const MOOMOO_MILK  ; $48
	const QUICK_CLAW   ; $49
	const PSNCUREBERRY ; $4A
	const GOLD_LEAF    ; $4B
	const SOFT_SAND    ; $4C
	const SHARP_BEAK   ; $4D
	const PRZCUREBERRY ; $4E
	const BURNT_BERRY  ; $4F
	const ICE_BERRY    ; $50
	const POISON_BARB  ; $51
	const KINGS_ROCK   ; $52
	const BITTER_BERRY ; $53
	const MINT_BERRY   ; $54
	const RED_APRICORN ; $55
	const TINYMUSHROOM ; $56
	const BIG_MUSHROOM ; $57
	const SILVERPOWDER ; $58
	const BLU_APRICORN ; $59
	const ITEM_5A      ; $5A
	const AMULET_COIN  ; $5B
	const YLW_APRICORN ; $5C
	const GRN_APRICORN ; $5D
	const CLEANSE_TAG  ; $5E
	const MYSTIC_WATER ; $5F
	const TWISTEDSPOON ; $60
	const WHT_APRICORN ; $61
	const BLACKBELT    ; $62
	const BLK_APRICORN ; $63
	const ITEM_64      ; $64
	const PNK_APRICORN ; $65
	const BLACKGLASSES ; $66
	const SLOWPOKETAIL ; $67
	const PINK_BOW     ; $68
	const STICK        ; $69
	const SMOKE_BALL   ; $6A
	const NEVERMELTICE ; $6B
	const MAGNET       ; $6C
	const MIRACLEBERRY ; $6D
	const PEARL        ; $6E
	const BIG_PEARL    ; $6F
	const EVERSTONE    ; $70
	const SPELL_TAG    ; $71
	const RAGECANDYBAR ; $72
	const GS_BALL      ; $73
	const BLUE_CARD    ; $74
	const MIRACLE_SEED ; $75
	const THICK_CLUB   ; $76
	const FOCUS_BAND   ; $77
	const ITEM_78      ; $78
	const ENERGYPOWDER ; $79
	const ENERGY_ROOT  ; $7A
	const HEAL_POWDER  ; $7B
	const REVIVAL_HERB ; $7C
	const HARD_STONE   ; $7D
	const LUCKY_EGG    ; $7E
	const CARD_KEY     ; $7F
	const MACHINE_PART ; $80
	const EGG_TICKET   ; $81
	const LOST_ITEM    ; $82
	const STARDUST     ; $83
	const STAR_PIECE   ; $84
	const BASEMENT_KEY ; $85
	const PASS         ; $86
	const ITEM_87      ; $87
	const ITEM_88      ; $88
	const ITEM_89      ; $89
	const CHARCOAL     ; $8A
	const BERRY_JUICE  ; $8B
	const SCOPE_LENS   ; $8C
	const ITEM_8D      ; $8D
	const ITEM_8E      ; $8E
	const METAL_COAT   ; $8F
	const DRAGON_FANG  ; $90
	const ITEM_91      ; $91
	const LEFTOVERS    ; $92
	const ITEM_93      ; $93
	const ITEM_94      ; $94
	const ITEM_95      ; $95
	const MYSTERYBERRY ; $96
	const DRAGON_SCALE ; $97
	const BERSERK_GENE ; $98
	const ITEM_99      ; $99
	const ITEM_9A      ; $9A
	const ITEM_9B      ; $9B
	const SACRED_ASH   ; $9C
	const HEAVY_BALL   ; $9D
	const FLOWER_MAIL  ; $9E
	const LEVEL_BALL   ; $9F
	const LURE_BALL    ; $A0
	const FAST_BALL    ; $A1
	const ITEM_A2      ; $A2
	const LIGHT_BALL   ; $A3
	const FRIEND_BALL  ; $A4
	const MOON_BALL    ; $A5
	const LOVE_BALL    ; $A6
	const NORMAL_BOX   ; $A7
	const GORGEOUS_BOX ; $A8
	const SUN_STONE    ; $A9
	const POLKADOT_BOW ; $AA
	const ITEM_AB      ; $AB
	const UP_GRADE     ; $AC
	const BERRY        ; $AD
	const GOLD_BERRY   ; $AE
	const SQUIRTBOTTLE ; $AF
	const ITEM_B0      ; $B0
	const PARK_BALL    ; $B1
	const RAINBOW_WING ; $B2
	const ITEM_B3      ; $B3
	const BRICK_PIECE  ; $B4
	const SURF_MAIL    ; $B5
	const LITEBLUEMAIL ; $B6
	const PORTRAITMAIL ; $B7
	const LOVELY_MAIL  ; $B8
	const EON_MAIL     ; $B9
	const MORPH_MAIL   ; $BA
	const BLUESKY_MAIL ; $BB
	const MUSIC_MAIL   ; $BC
	const MIRAGE_MAIL  ; $BD
	const ITEM_BE      ; $BE

; see data/tmhm_moves.asm for moves
	add_tm DYNAMICPUNCH ; $BF
	add_tm HEADBUTT     ; $C0
	add_tm CURSE        ; $C1
	add_tm ROLLOUT      ; $C2
	const ITEM_C3       ; $C3
	add_tm ROAR         ; $C4
	add_tm TOXIC        ; $C5
	add_tm ZAP_CANNON   ; $C6
	add_tm ROCK_SMASH   ; $C7
	add_tm PSYCH_UP     ; $C8
	add_tm HIDDEN_POWER ; $C9
	add_tm SUNNY_DAY    ; $CA
	add_tm SWEET_SCENT  ; $CB
	add_tm SNORE        ; $CC
	add_tm BLIZZARD     ; $CD
	add_tm HYPER_BEAM   ; $CE
	add_tm ICY_WIND     ; $CF
	add_tm PROTECT      ; $D0
	add_tm RAIN_DANCE   ; $D1
	add_tm GIGA_DRAIN   ; $D2
	add_tm ENDURE       ; $D3
	add_tm FRUSTRATION  ; $D4
	add_tm SOLARBEAM    ; $D5
	add_tm IRON_TAIL    ; $D6
	add_tm DRAGONBREATH ; $D7
	add_tm THUNDER      ; $D8
	add_tm EARTHQUAKE   ; $D9
	add_tm RETURN       ; $DA
	add_tm DIG          ; $DB
	const ITEM_DC       ; $DC
	add_tm PSYCHIC      ; $DD
	add_tm SHADOW_BALL  ; $DE
	add_tm MUD_SLAP     ; $DF
	add_tm DOUBLE_TEAM  ; $E0
	add_tm ICE_PUNCH    ; $E1
	add_tm SWAGGER      ; $E2
	add_tm SLEEP_TALK   ; $E3
	add_tm SLUDGE_BOMB  ; $E4
	add_tm SANDSTORM    ; $E5
	add_tm FIRE_BLAST   ; $E6
	add_tm SWIFT        ; $E7
	add_tm DEFENSE_CURL ; $E8
	add_tm THUNDERPUNCH ; $E9
	add_tm DREAM_EATER  ; $EA
	add_tm DETECT       ; $EB
	add_tm REST         ; $EC
	add_tm ATTRACT      ; $ED
	add_tm THIEF        ; $EE
	add_tm STEEL_WING   ; $EF
	add_tm FIRE_PUNCH   ; $F0
	add_tm FURY_CUTTER  ; $F1
	add_tm NIGHTMARE    ; $F2
NUM_TMS = const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC

	add_hm CUT          ; $F3
	add_hm FLY          ; $F4
	add_hm SURF         ; $F5
	add_hm STRENGTH     ; $F6
	add_hm FLASH        ; $F7
	add_hm WHIRLPOOL    ; $F8
	add_hm WATERFALL    ; $F9
NUM_HMS = const_value - HM01
	const ITEM_FA       ; $FA

	add_mt FLAMETHROWER
	add_mt THUNDERBOLT
	add_mt ICE_BEAM
NUM_TM_HM_TUTOR = __enum__ +- 1

ITEM_FROM_MEM EQU $FF

; leftovers from red
SAFARI_BALL    EQU $08 ; MOON_STONE
MOON_STONE_RED EQU $0A ; BURN_HEAL
FULL_HEAL_RED  EQU $34 ; X_SPEED

; mail
MAIL_MSG_LENGTH    EQU $20
MAILBOX_CAPACITY   EQU 10
MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct

; pack pockets
ITEM     EQU 1
KEY_ITEM EQU 2
BALL     EQU 3
TM_HM    EQU 4

; pack pocket sizes
MAX_ITEMS     EQU 20
MAX_KEY_ITEMS EQU 25
MAX_BALLS     EQU 12
MAX_PC_ITEMS  EQU 50

; item actions
CANT_SELECT EQU 1 << 6
CANT_TOSS   EQU 1 << 7


; held item effects
	const_def
	const HELD_NONE
	const HELD_BERRY
	const HELD_2
	const HELD_LEFTOVERS
	const HELD_4
	const HELD_5
	const HELD_RESTORE_PP
	const HELD_7
	const HELD_CLEANSE_TAG

const_value SET 10
	const HELD_HEAL_POISON
	const HELD_HEAL_FREEZE
	const HELD_HEAL_BURN
	const HELD_HEAL_SLEEP
	const HELD_HEAL_PARALYZE
	const HELD_HEAL_STATUS
	const HELD_HEAL_CONFUSION

const_value SET 20
	const HELD_PREVENT_POISON
	const HELD_PREVENT_BURN
	const HELD_PREVENT_FREEZE
	const HELD_PREVENT_SLEEP
	const HELD_PREVENT_PARALYZE
	const HELD_PREVENT_CONFUSE

const_value SET 30
	const HELD_30
	const HELD_ATTACK_UP
	const HELD_DEFENSE_UP
	const HELD_SPEED_UP
	const HELD_SP_ATTACK_UP
	const HELD_SP_DEFENSE_UP
	const HELD_ACCURACY_UP
	const HELD_EVASION_UP
	const HELD_38

const_value SET 40
	const HELD_40
	const HELD_41
	const HELD_METAL_POWDER

const_value SET 50
	const HELD_NORMAL_BOOST
	const HELD_FIGHTING_BOOST
	const HELD_FLYING_BOOST
	const HELD_POISON_BOOST
	const HELD_GROUND_BOOST
	const HELD_ROCK_BOOST
	const HELD_BUG_BOOST
	const HELD_GHOST_BOOST
	const HELD_FIRE_BOOST
	const HELD_WATER_BOOST
	const HELD_GRASS_BOOST
	const HELD_ELECTRIC_BOOST
	const HELD_PSYCHIC_BOOST
	const HELD_ICE_BOOST
	const HELD_DRAGON_BOOST
	const HELD_DARK_BOOST
	const HELD_STEEL_BOOST

const_value SET 70
	const HELD_CATCH_CHANCE
	const HELD_71
	const HELD_ESCAPE
	const HELD_CRITICAL_UP
	const HELD_QUICK_CLAW
	const HELD_TRADE_EVOLVE
	const HELD_AMULET_COIN
	const HELD_BRIGHTPOWDER
	const HELD_78
	const HELD_FOCUS_BAND

; item_attribute struct members (see items/item_attributes.asm)
	const_def
	const ITEMATTR_PRICE
	const ITEMATTR_PRICE_HI
	const ITEMATTR_EFFECT
	const ITEMATTR_PARAM
	const ITEMATTR_PERMISSIONS
	const ITEMATTR_POCKET
	const ITEMATTR_HELP
ITEMATTR_STRUCT_LENGTH EQU const_value

; item menu types
ITEMMENU_NOUSE   EQU 0
ITEMMENU_CURRENT EQU 4
ITEMMENU_PARTY   EQU 5
ITEMMENU_CLOSE   EQU 6

; mart types (see engine/mart.asm)
	const_def
	const MARTTYPE_STANDARD
	const MARTTYPE_BITTER
	const MARTTYPE_BARGAIN
	const MARTTYPE_PHARMACY
	const MARTTYPE_ROOFTOP

; Marts indexes (see items/marts.asm)
	const_def
	const MART_CHERRYGROVE
	const MART_CHERRYGROVE_DEX
	const MART_VIOLET
	const MART_AZALEA
	const MART_CIANWOOD
	const MART_GOLDENROD_2F_1
	const MART_GOLDENROD_2F_2
	const MART_GOLDENROD_3F
	const MART_GOLDENROD_4F
	const MART_GOLDENROD_5F_1
	const MART_GOLDENROD_5F_2
	const MART_GOLDENROD_5F_3
	const MART_GOLDENROD_5F_4
	const MART_OLIVINE
	const MART_ECRUTEAK
	const MART_MAHOGANY_1
	const MART_MAHOGANY_2
	const MART_BLACKTHORN
	const MART_VIRIDIAN
	const MART_PEWTER
	const MART_CERULEAN
	const MART_LAVENDER
	const MART_VERMILION
	const MART_CELADON_2F_1
	const MART_CELADON_2F_2
	const MART_CELADON_3F
	const MART_CELADON_4F
	const MART_CELADON_5F_1
	const MART_CELADON_5F_2
	const MART_FUCHSIA
	const MART_SAFFRON
	const MART_MT_MOON
	const MART_INDIGO_PLATEAU
	const MART_UNDERGROUND

; PartyMenuActionText values
; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm)
	const_def
	const PARTYMENUACTION_CHOOSE_POKEMON
	const PARTYMENUACTION_HEALING_ITEM
	const PARTYMENUACTION_SWITCH
	const PARTYMENUACTION_TEACH_TMHM
	const PARTYMENUACTION_MOVE
	const PARTYMENUACTION_EVO_STONE
	const PARTYMENUACTION_GIVE_MON
	const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
	const PARTYMENUACTION_GIVE_ITEM
	const PARTYMENUACTION_MOBILE ; mobile
; PrintPartyMenuActionText arguments (see engine/party_menu.asm)
const_value set $f0
	const PARTYMENUTEXT_HEAL_PSN
	const PARTYMENUTEXT_HEAL_BRN
	const PARTYMENUTEXT_HEAL_FRZ
	const PARTYMENUTEXT_HEAL_SLP
	const PARTYMENUTEXT_HEAL_PAR
	const PARTYMENUTEXT_HEAL_HP
	const PARTYMENUTEXT_HEAL_ALL
	const PARTYMENUTEXT_REVIVE
	const PARTYMENUTEXT_LEVEL_UP
	const PARTYMENUTEXT_HEAL_CONFUSION