shithub: pokecrystal

ref: 8bb8546497e8365740a83e40edda12e9328e5bc7
dir: /constants.asm/

View raw version

; wram constants
; MonType: ; cf5f
PARTYMON   EQU 0
OTPARTYMON EQU 1
BOXMON     EQU 2
WILDMON    EQU 4

; WalkingDirection: ; d043
STANDING EQU -1
DOWN     EQU 0
UP       EQU 1
LEFT     EQU 2
RIGHT    EQU 3

; FacingDirection: ; d044
FACE_CURRENT EQU 0
FACE_DOWN  EQU 8
FACE_UP    EQU 4
FACE_LEFT  EQU 2
FACE_RIGHT EQU 1

; TimeOfDay: ; d269
MORN     EQU 0
DAY      EQU 1
NITE     EQU 2
DARKNESS EQU 3

; ScriptFlags: ; d434
SCRIPT_RUNNING EQU 2

; ScriptMode: ; d437
SCRIPT_OFF EQU 0
SCRIPT_READ EQU 1
SCRIPT_WAIT_MOVEMENT EQU 2
SCRIPT_WAIT EQU 3

; CurDay: ; d4cb
SUNDAY    EQU 0
MONDAY    EQU 1
TUESDAY   EQU 2
WEDNESDAY EQU 3
THURSDAY  EQU 4
FRIDAY    EQU 5
SATURDAY  EQU 6

; MapObjects: ; d71e

PLAYER_OBJECT EQU 0

NUM_OBJECTS   EQU $10
OBJECT_LENGTH EQU $10

; InputType: ; c2c7
AUTO_INPUT EQU $ff

; WhichRegisteredItem: ; d95b
REGISTERED_POCKET EQU %11000000
REGISTERED_NUMBER EQU %00111111

; PlayerState: ; d95d
PLAYER_NORMAL    EQU 0
PLAYER_BIKE      EQU 1
PLAYER_SLIP      EQU 2
PLAYER_SURF      EQU 4
PLAYER_SURF_PIKA EQU 8


INCLUDE "gbhw.asm"
INCLUDE "hram.asm"

INCLUDE "constants/pokemon_constants.asm"
INCLUDE "constants/move_constants.asm"
INCLUDE "constants/battle_constants.asm"
INCLUDE "constants/map_constants.asm"
INCLUDE "constants/item_constants.asm"
INCLUDE "constants/trainer_constants.asm"
INCLUDE "constants/script_constants.asm"
INCLUDE "constants/event_flags.asm"
INCLUDE "constants/engine_flags.asm"
INCLUDE "constants/music_constants.asm"
INCLUDE "constants/sfx_constants.asm"


; macros require rst vectors to be defined
FarCall    EQU $08
Bankswitch EQU $10
JumpTable  EQU $28

INCLUDE "macros.asm"


NONE       EQU 0


; types
NORMAL   EQU $00
FIGHTING EQU $01
FLYING   EQU $02
POISON   EQU $03
GROUND   EQU $04
ROCK     EQU $05
BUG      EQU $07
GHOST    EQU $08
STEEL    EQU $09
CURSE_T  EQU $13
FIRE     EQU $14
WATER    EQU $15
GRASS    EQU $16
ELECTRIC EQU $17
PSYCHIC  EQU $18
ICE      EQU $19
DRAGON   EQU $1A
DARK     EQU $1B

; egg group constants
MONSTER       EQU $01
AMPHIBIAN     EQU $02
INSECT        EQU $03
AVIAN         EQU $04
FIELD         EQU $05
FAIRY         EQU $06
PLANT         EQU $07
HUMANSHAPE    EQU $08
INVERTEBRATE  EQU $09
INANIMATE     EQU $0A
AMORPHOUS     EQU $0B
FISH          EQU $0C
LADIES_MAN    EQU $0D
REPTILE       EQU $0E
NO_EGGS       EQU $0F

; menu sprites
ICON_POLIWAG       EQU $01
ICON_JIGGLYPUFF    EQU $02
ICON_DIGLETT       EQU $03
ICON_PIKACHU       EQU $04
ICON_STARYU        EQU $05
ICON_FISH          EQU $06
ICON_BIRD          EQU $07
ICON_MONSTER       EQU $08
ICON_CLEFAIRY      EQU $09
ICON_ODDISH        EQU $0a
ICON_BUG           EQU $0b
ICON_GHOST         EQU $0c
ICON_LAPRAS        EQU $0d
ICON_HUMANSHAPE    EQU $0e
ICON_FOX           EQU $0f
ICON_EQUINE        EQU $10
ICON_SHELL         EQU $11
ICON_BLOB          EQU $12
ICON_SERPENT       EQU $13
ICON_VOLTORB       EQU $14
ICON_SQUIRTLE      EQU $15
ICON_BULBASAUR     EQU $16
ICON_CHARMANDER    EQU $17
ICON_CATERPILLAR   EQU $18
ICON_UNOWN         EQU $19
ICON_GEODUDE       EQU $1a
ICON_FIGHTER       EQU $1b
ICON_EGG           EQU $1c
ICON_JELLYFISH     EQU $1d
ICON_MOTH          EQU $1e
ICON_BAT           EQU $1f
ICON_SNORLAX       EQU $20
ICON_HO_OH         EQU $21
ICON_LUGIA         EQU $22
ICON_GYARADOS      EQU $23
ICON_SLOWPOKE      EQU $24
ICON_SUDOWOODO     EQU $25
ICON_BIGMON        EQU $26


; evolution types
EVOLVE_LEVEL     EQU 1
EVOLVE_ITEM      EQU 2
EVOLVE_TRADE     EQU 3
EVOLVE_HAPPINESS EQU 4
EVOLVE_STAT      EQU 5

BASE_HAPPINESS   EQU 70
; happiness evolution triggers
HAPPINESS_TO_EVOLVE EQU 220
TR_ANYTIME EQU 1
TR_MORNDAY EQU 2
TR_NITE    EQU 3

; stat evolution triggers
ATK_GT_DEF EQU 1
ATK_LT_DEF EQU 2
ATK_EQ_DEF EQU 3


; name length
PLAYER_NAME_LENGTH EQU 8
PKMN_NAME_LENGTH EQU 11


; predefs
PREDEF_FLAG EQU $03
PREDEF_FILLPP EQU $05
PREDEF_ADDPARTYMON EQU $06
PREDEF_FILLSTATS EQU $0C
PREDEF_PRINT_MOVE_DESCRIPTION EQU $11
PREDEF_UPDATE_PLAYER_HUD EQU $12
PREDEF_FILL_BOX EQU $13
PREDEF_UPDATE_ENEMY_HUD EQU $15
PREDEF_START_BATTLE EQU $16
PREDEF_FILL_IN_EXP_BAR EQU $17
PREDEF_FILLMOVES EQU $1B
PREDEF_GET_GENDER EQU $24
PREDEF_STATS_SCREEN EQU $25
PREDEF_DRAW_PLAYER_HP EQU $26
PREDEF_DRAW_ENEMY_HP EQU $27
PREDEF_GET_TYPE_NAME EQU $29
PREDEF_PRINT_MOVE_TYPE EQU $2A
PREDEF_PRINT_TYPE EQU $2B
PREDEF_GET_UNOWN_LETTER EQU $2D
PREDEF_LOAD_SGB_LAYOUT EQU $31
PREDEF_CHECK_CONTEST_MON EQU $33
PREDEF_BATTLE_TRANSITION EQU $34
PREDEF_PARTYMON_ITEM_NAME EQU $3B
PREDEF_DECOMPRESS EQU $40


; flag manipulation
RESET_FLAG EQU 0
SET_FLAG   EQU 1
CHECK_FLAG EQU 2


; joypad
BUTTONS    EQU %00010000
D_PAD      EQU %00100000

NO_INPUT   EQU %00000000
A_BUTTON   EQU %00000001
B_BUTTON   EQU %00000010
SELECT     EQU %00000100
START      EQU %00001000
D_RIGHT    EQU %00010000
D_LEFT     EQU %00100000
D_UP       EQU %01000000
D_DOWN     EQU %10000000


; screen
HP_BAR_LENGTH EQU 6
HP_BAR_LENGTH_PX EQU 48
EXP_BAR_LENGTH EQU 8
EXP_BAR_LENGTH_PX EQU 64

SCREEN_WIDTH EQU 20
SCREEN_HEIGHT EQU 18
SCREEN_WIDTH_PX EQU 160
SCREEN_HEIGHT_PX EQU 144

BG_MAP_WIDTH  EQU 32
BG_MAP_HEIGHT EQU 32

TILE_WIDTH EQU 8


; movement
STEP_SLOW EQU 0
STEP_WALK EQU 1
STEP_BIKE EQU 2
STEP_LEDGE EQU 3
STEP_ICE EQU 4
STEP_TURN EQU 5
STEP_BACK_LEDGE EQU 6
STEP_WALK_IN_PLACE EQU 7