diff options
author | Daniel Harding <33dannye@gmail.com> | 2018-02-27 11:09:09 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-27 11:09:09 -0600 |
commit | 96b32412d82bdee2756b1a300b05d2647da9ad1f (patch) | |
tree | 677858a17041e829c8a442be2b16b43e20d2a341 /src/constants/card_data_constants.asm | |
parent | 24f40989d472407dc51653f2a671348126c6e816 (diff) | |
parent | 43d4b8644de2ffb3b1fc13638081cd228c4b2c74 (diff) |
Merge pull request #35 from xCrystal/master
Lots of bank0 and some bank1 disasm, labeling and corrections ; Many constants related to duels, cards, and WRAM structs ; Replace hardcoded WRAM addresses with generic labels ; Style clean up ; Format SGB packets ; Reorganize some gfx files
Diffstat (limited to 'src/constants/card_data_constants.asm')
-rw-r--r-- | src/constants/card_data_constants.asm | 141 |
1 files changed, 105 insertions, 36 deletions
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm index a98a0c7..6b6d299 100644 --- a/src/constants/card_data_constants.asm +++ b/src/constants/card_data_constants.asm @@ -1,11 +1,79 @@ NONE EQU $0 -PKMN_CARD_DATA_LENGTH EQU $41 +; sCardCollection constants +CARD_COLLECTION_SIZE EQU $100 ; cards +MAX_AMOUNT_OF_CARD EQU 99 +CARD_NOT_OWNED_F EQU 7 +CARD_NOT_OWNED EQU 1 << CARD_NOT_OWNED_F +CARD_COUNT_MASK EQU $7f + +; sDeck* and generic deck constants +NUM_DECKS EQU 4 +DECK_NAME_SIZE EQU 24 +DECK_SIZE EQU 60 + +; card data offsets (data/cards.asm and card_data_struct) + +; all card types +CARD_DATA_TYPE EQU $00 +CARD_DATA_GFX EQU $01 +CARD_DATA_NAME EQU $03 +CARD_DATA_RARITY EQU $05 +CARD_DATA_SET EQU $06 +CARD_DATA_ID EQU $07 +CARD_DATA_EFFECT_COMMANDS EQU $08 ; !TYPE_PKMN +CARD_DATA_HP EQU $08 ; TYPE_PKMN +CARD_DATA_STAGE EQU $09 ; TYPE_PKMN +CARD_DATA_NONPKMN_DESCRIPTION EQU $0a ; !TYPE_PKMN +CARD_DATA_PREEVO_NAME EQU $0a ; TYPE_PKMN + TRN_CARD_DATA_LENGTH EQU $0e ENERGY_CARD_DATA_LENGTH EQU $0e -;;; generic type constants -; double up as Pokemon card types +; TYPE_PKMN card only +CARD_DATA_MOVE1 EQU $0c +CARD_DATA_MOVE1_ENERGY EQU $0c +CARD_DATA_MOVE1_NAME EQU $10 +CARD_DATA_MOVE1_DESCRIPTION EQU $12 +CARD_DATA_MOVE1_DAMAGE EQU $16 +CARD_DATA_MOVE1_CATEGORY EQU $17 +CARD_DATA_MOVE1_EFFECT_COMMANDS EQU $18 +CARD_DATA_MOVE1_FLAG1 EQU $1a +CARD_DATA_MOVE1_FLAG2 EQU $1b +CARD_DATA_MOVE1_FLAG3 EQU $1c +CARD_DATA_MOVE1_UNKNOWN1 EQU $1d +CARD_DATA_MOVE1_ANIMATION EQU $1e + +; TYPE_PKMN card only +CARD_DATA_MOVE2 EQU $1f +CARD_DATA_MOVE2_ENERGY EQU $1f +CARD_DATA_MOVE2_NAME EQU $23 +CARD_DATA_MOVE2_DESCRIPTION EQU $25 +CARD_DATA_MOVE2_DAMAGE EQU $29 +CARD_DATA_MOVE2_CATEGORY EQU $2a +CARD_DATA_MOVE2_EFFECT_COMMANDS EQU $2b +CARD_DATA_MOVE2_FLAG1 EQU $2d +CARD_DATA_MOVE2_FLAG2 EQU $2e +CARD_DATA_MOVE2_FLAG3 EQU $2f +CARD_DATA_MOVE2_UNKNOWN1 EQU $30 +CARD_DATA_MOVE2_ANIMATION EQU $31 + +; TYPE_PKMN card only +CARD_DATA_RETREAT_COST EQU $32 +CARD_DATA_WEAKNESS EQU $33 +CARD_DATA_RESISTANCE EQU $34 +CARD_DATA_KIND EQU $35 +CARD_DATA_POKEDEX_NUMBER EQU $37 +CARD_DATA_UNKNOWN1 EQU $38 +CARD_DATA_LEVEL EQU $39 +CARD_DATA_LENGTH EQU $3a +CARD_DATA_WEIGHT EQU $3c +CARD_DATA_PKMN_DESCRIPTION EQU $3e +CARD_DATA_UNKNOWN2 EQU $40 + +PKMN_CARD_DATA_LENGTH EQU $41 + +; generic type (color) constants const_def const FIRE ; $0 const GRASS ; $1 @@ -13,41 +81,44 @@ ENERGY_CARD_DATA_LENGTH EQU $0e const WATER ; $3 const FIGHTING ; $4 const PSYCHIC ; $5 +NUM_COLORED_TYPES EQU const_value const COLORLESS ; $6 const UNUSED_TYPE ; $7 NUM_TYPES EQU const_value -;;; card types -TYPE_PKMN_FIRE EQUS "FIRE" -TYPE_PKMN_GRASS EQUS "GRASS" -TYPE_PKMN_LIGHTNING EQUS "LIGHTNING" -TYPE_PKMN_WATER EQUS "WATER" -TYPE_PKMN_FIGHTING EQUS "FIGHTING" -TYPE_PKMN_PSYCHIC EQUS "PSYCHIC" -TYPE_PKMN_COLORLESS EQUS "COLORLESS" -TYPE_PKMN_UNUSED EQUS "UNUSED_TYPE" +; CARD_DATA_TYPE constants +TYPE_PKMN_FIRE EQU FIRE +TYPE_PKMN_GRASS EQU GRASS +TYPE_PKMN_LIGHTNING EQU LIGHTNING +TYPE_PKMN_WATER EQU WATER +TYPE_PKMN_FIGHTING EQU FIGHTING +TYPE_PKMN_PSYCHIC EQU PSYCHIC +TYPE_PKMN_COLORLESS EQU COLORLESS +TYPE_PKMN_UNUSED EQU UNUSED_TYPE const_def TYPE_PKMN_UNUSED + 1 - TYPE_PKMN_FIRE - const TYPE_ENERGY_FIRE ; $8 - const TYPE_ENERGY_GRASS ; $9 - const TYPE_ENERGY_LIGHTNING ; $A - const TYPE_ENERGY_WATER ; $B - const TYPE_ENERGY_FIGHTING ; $C - const TYPE_ENERGY_PSYCHIC ; $D - const TYPE_ENERGY_DOUBLE_COLORLESS ; $E - const TYPE_ENERGY_UNUSED ; $F - const TYPE_TRAINER ; $10 - const TYPE_TRAINER_UNUSED ; $11 + const TYPE_ENERGY_FIRE ; $08 + const TYPE_ENERGY_GRASS ; $09 + const TYPE_ENERGY_LIGHTNING ; $0a + const TYPE_ENERGY_WATER ; $0b + const TYPE_ENERGY_FIGHTING ; $0c + const TYPE_ENERGY_PSYCHIC ; $0d + const TYPE_ENERGY_DOUBLE_COLORLESS ; $0e + const TYPE_ENERGY_UNUSED ; $0f + const TYPE_TRAINER ; $10 + const TYPE_TRAINER_UNUSED ; $11 NUM_CARD_TYPES EQU const_value + -1 -TYPE_ENERGY_F EQU 3 +TYPE_PKMN EQU %111 +TYPE_ENERGY_F EQU 3 +TYPE_TRAINER_F EQU 4 -;;; rarity +; CARD_DATA_RARITY constants CIRCLE EQU $0 DIAMOND EQU $1 STAR EQU $2 -PROMOSTAR EQU $FF +PROMOSTAR EQU $ff -;;; set 1 +; CARD_DATA_SET constants (set 1) COLOSSEUM EQU $00 EVOLUTION EQU $10 MYSTERY EQU $20 @@ -55,18 +126,18 @@ LABORATORY EQU $30 PROMOTIONAL EQU $40 ENERGY EQU $50 -;;; set 2 +; CARD_DATA_SET constants (set 2) JUNGLE EQU $1 FOSSIL EQU $2 GB EQU $7 PRO EQU $8 -;;; evolution stage +; CARD_DATA_STAGE constants BASIC EQU $0 STAGE1 EQU $1 STAGE2 EQU $2 -;;; weakness/resistance +; CARD_DATA_WEAKNESS and CARD_DATA_RESISTANCE constants WR_FIRE EQU $80 WR_GRASS EQU $40 WR_LIGHTNING EQU $20 @@ -74,7 +145,7 @@ WR_WATER EQU $10 WR_FIGHTING EQU $08 WR_PSYCHIC EQU $04 -;;; move category (6th param of Pokemon cards move data) +; CARD_DATA_MOVE*_CATEGORY constants DAMAGE_NORMAL EQU $0 DAMAGE_PLUS EQU $1 DAMAGE_MINUS EQU $2 @@ -83,7 +154,7 @@ POKEMON_POWER EQU $4 RESIDUAL_F EQU 7 RESIDUAL EQU 1 << RESIDUAL_F -;;; flags 1 (8th param of Pokemon cards move data) +; CARD_DATA_MOVE*_FLAG1 constants INFLICT_POISON EQU %00000001 INFLICT_SLEEP EQU %00000010 INFLICT_PARALYSIS EQU %00000100 @@ -93,7 +164,7 @@ DAMAGE_TO_OPPONENT_BENCH EQU %00100000 HIGH_RECOIL EQU %01000000 DRAW_CARD EQU %10000000 -;;; flags 2 (9th param of Pokemon cards move data) +; CARD_DATA_MOVE*_FLAG2 constants ; bits 5, 6 and 7 cover a wide variety of effects SWITCH_OPPONENT_POKEMON EQU %00000001 HEAL_USER EQU %00000010 @@ -104,13 +175,11 @@ FLAG_2_BIT_5 EQU %00100000 FLAG_2_BIT_6 EQU %01000000 FLAG_2_BIT_7 EQU %10000000 -;;; flags 3 (10th param of Pokemon cards move data) +; CARD_DATA_MOVE*_FLAG3 constants ; bit 1 covers a wide variety of effects ; bits 2-7 are unused BOOST_IF_TAKEN_DAMAGE EQU %00000001 FLAG_3_BIT_1 EQU %00000010 -;;; special retreat values +; special CARD_DATA_RETREAT_COST values UNABLE_RETREAT EQU $64 - -CARD_COLLECTION_SIZE EQU $100 |