summaryrefslogtreecommitdiff
path: root/src/constants
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2018-02-22 13:49:27 +0100
committerxCrystal <rgr.crystal@gmail.com>2018-02-22 13:49:27 +0100
commitd543a896fd381046dee795f3020237d6da623a9e (patch)
treefd6bb143c4a40fa85ab11e8bb1a43004c289e9d5 /src/constants
parent2e1d018a7a95880a36f3935307aeb76875797ae4 (diff)
CARD_DATA_* constants and more labeling and disasm
Diffstat (limited to 'src/constants')
-rw-r--r--src/constants/card_data_constants.asm89
-rw-r--r--src/constants/duel_constants.asm48
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