diff options
author | xCrystal <rgr.crystal@gmail.com> | 2018-02-22 13:49:27 +0100 |
---|---|---|
committer | xCrystal <rgr.crystal@gmail.com> | 2018-02-22 13:49:27 +0100 |
commit | d543a896fd381046dee795f3020237d6da623a9e (patch) | |
tree | fd6bb143c4a40fa85ab11e8bb1a43004c289e9d5 /src/constants | |
parent | 2e1d018a7a95880a36f3935307aeb76875797ae4 (diff) |
CARD_DATA_* constants and more labeling and disasm
Diffstat (limited to 'src/constants')
-rw-r--r-- | src/constants/card_data_constants.asm | 89 | ||||
-rw-r--r-- | src/constants/duel_constants.asm | 48 |
2 files changed, 97 insertions, 40 deletions
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm index 6a07ce9..d5a44bf 100644 --- a/src/constants/card_data_constants.asm +++ b/src/constants/card_data_constants.asm @@ -1,11 +1,70 @@ NONE EQU $0 -PKMN_CARD_DATA_LENGTH EQU $41 +; wTempCardCollection size +CARD_COLLECTION_SIZE EQU $100 + +; 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 constants const_def const FIRE ; $0 const GRASS ; $1 @@ -18,7 +77,7 @@ NUM_COLORED_TYPES EQU const_value const UNUSED_TYPE ; $7 NUM_TYPES EQU const_value -;;; card types +; CARD_DATA_TYPE constants TYPE_PKMN_FIRE EQUS "FIRE" TYPE_PKMN_GRASS EQUS "GRASS" TYPE_PKMN_LIGHTNING EQUS "LIGHTNING" @@ -44,13 +103,13 @@ 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 -;;; set 1 +; CARD_DATA_SET constants (set 1) COLOSSEUM EQU $00 EVOLUTION EQU $10 MYSTERY EQU $20 @@ -58,18 +117,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 @@ -77,7 +136,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 @@ -86,7 +145,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 @@ -96,7 +155,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 @@ -107,13 +166,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 diff --git a/src/constants/duel_constants.asm b/src/constants/duel_constants.asm index ba4bb3f..956f84d 100644 --- a/src/constants/duel_constants.asm +++ b/src/constants/duel_constants.asm @@ -23,30 +23,30 @@ DUEL_DRAW EQU $3 const BOXMSG_COIN_TOSS ; wPlayerDuelVariables or wOpponentDuelVariables constants -DUELVARS_CARD_LOCATIONS EQUS "wPlayerCardLocations & $ff" ; 00 -DUELVARS_HAND EQUS "wPlayerHand & $ff" ; 42 -DUELVARS_DECK_CARDS EQUS "wPlayerDeckCards & $ff" ; 7e -DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQUS "wPlayerNumberOfCardsNotInDeck & $ff" ; ba -DUELVARS_ARENA_CARD EQUS "wPlayerArenaCard & $ff" ; bb -DUELVARS_BENCH EQUS "wPlayerBench & $ff" ; bc -DUELVARS_ARENA_CARD_HP EQUS "wPlayerArenaCardHP & $ff" ; c8 -DUELVARS_BENCH1_CARD_HP EQUS "wPlayerBench1CardHP & $ff" ; c9 -DUELVARS_BENCH2_CARD_HP EQUS "wPlayerBench2CardHP & $ff" ; ca -DUELVARS_BENCH3_CARD_HP EQUS "wPlayerBench3CardHP & $ff" ; cb -DUELVARS_BENCH4_CARD_HP EQUS "wPlayerBench4CardHP & $ff" ; cc -DUELVARS_BENCH5_CARD_HP EQUS "wPlayerBench5CardHP & $ff" ; cd -DUELVARS_ARENA_CARD_SUBSTATUS1 EQUS "wPlayerArenaCardSubstatus1 & $ff" ; e7 -DUELVARS_ARENA_CARD_SUBSTATUS2 EQUS "wPlayerArenaCardSubstatus2 & $ff" ; e8 -DUELVARS_ARENA_CARD_SUBSTATUS3 EQUS "wPlayerArenaCardSubstatus3 & $ff" ; e9 -DUELVARS_ARENA_CARD_SUBSTATUS4 EQUS "wPlayerArenaCardSubstatus4 & $ff" ; ea -DUELVARS_ARENA_CARD_SUBSTATUS5 EQUS "wPlayerArenaCardSubstatus5 & $ff" ; eb -DUELVARS_PRIZES EQUS "wPlayerPrizes & $ff" ; ec -DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE EQUS "wPlayerNumberOfCardsInDiscardPile & $ff" ; ed -DUELVARS_NUMBER_OF_CARDS_IN_HAND EQUS "wPlayerNumberOfCardsInHand & $ff" ; ee -DUELVARS_NUMBER_OF_POKEMON_IN_PLAY EQUS "wPlayerNumberOfPokemonInPlay & $ff" ; ef -DUELVARS_ARENA_CARD_STATUS EQUS "wPlayerArenaCardStatus & $ff" ; f0 -DUELVARS_DUELIST_TYPE EQUS "wPlayerDuelistType & $ff" ; f1 -DUELVARS_ARENA_CARD_DISABLED_MOVE_INDEX EQUS "wPlayerArenaCardDisabledMoveIndex & $ff" ; f2 +DUELVARS_CARD_LOCATIONS EQUS "LOW(wPlayerCardLocations)" ; 00 +DUELVARS_HAND EQUS "LOW(wPlayerHand)" ; 42 +DUELVARS_DECK_CARDS EQUS "LOW(wPlayerDeckCards)" ; 7e +DUELVARS_NUMBER_OF_CARDS_NOT_IN_DECK EQUS "LOW(wPlayerNumberOfCardsNotInDeck)" ; ba +DUELVARS_ARENA_CARD EQUS "LOW(wPlayerArenaCard)" ; bb +DUELVARS_BENCH EQUS "LOW(wPlayerBench)" ; bc +DUELVARS_ARENA_CARD_HP EQUS "LOW(wPlayerArenaCardHP)" ; c8 +DUELVARS_BENCH1_CARD_HP EQUS "LOW(wPlayerBench1CardHP)" ; c9 +DUELVARS_BENCH2_CARD_HP EQUS "LOW(wPlayerBench2CardHP)" ; ca +DUELVARS_BENCH3_CARD_HP EQUS "LOW(wPlayerBench3CardHP)" ; cb +DUELVARS_BENCH4_CARD_HP EQUS "LOW(wPlayerBench4CardHP)" ; cc +DUELVARS_BENCH5_CARD_HP EQUS "LOW(wPlayerBench5CardHP)" ; cd +DUELVARS_ARENA_CARD_SUBSTATUS1 EQUS "LOW(wPlayerArenaCardSubstatus1)" ; e7 +DUELVARS_ARENA_CARD_SUBSTATUS2 EQUS "LOW(wPlayerArenaCardSubstatus2)" ; e8 +DUELVARS_ARENA_CARD_SUBSTATUS3 EQUS "LOW(wPlayerArenaCardSubstatus3)" ; e9 +DUELVARS_ARENA_CARD_SUBSTATUS4 EQUS "LOW(wPlayerArenaCardSubstatus4)" ; ea +DUELVARS_ARENA_CARD_SUBSTATUS5 EQUS "LOW(wPlayerArenaCardSubstatus5)" ; eb +DUELVARS_PRIZES EQUS "LOW(wPlayerPrizes)" ; ec +DUELVARS_NUMBER_OF_CARDS_IN_DISCARD_PILE EQUS "LOW(wPlayerNumberOfCardsInDiscardPile)" ; ed +DUELVARS_NUMBER_OF_CARDS_IN_HAND EQUS "LOW(wPlayerNumberOfCardsInHand)" ; ee +DUELVARS_NUMBER_OF_POKEMON_IN_PLAY EQUS "LOW(wPlayerNumberOfPokemonInPlay)" ; ef +DUELVARS_ARENA_CARD_STATUS EQUS "LOW(wPlayerArenaCardStatus)" ; f0 +DUELVARS_DUELIST_TYPE EQUS "LOW(wPlayerDuelistType)" ; f1 +DUELVARS_ARENA_CARD_DISABLED_MOVE_INDEX EQUS "LOW(wPlayerArenaCardDisabledMoveIndex)" ; f2 ; card location constants (DUELVARS_CARD_LOCATIONS) CARD_LOCATION_DECK EQU $00 |