summaryrefslogtreecommitdiff
path: root/src/constants/card_data_constants.asm
diff options
context:
space:
mode:
Diffstat (limited to 'src/constants/card_data_constants.asm')
-rw-r--r--src/constants/card_data_constants.asm82
1 files changed, 62 insertions, 20 deletions
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm
index 641d04b..3f26e4d 100644
--- a/src/constants/card_data_constants.asm
+++ b/src/constants/card_data_constants.asm
@@ -41,7 +41,7 @@ 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_EFFECT_PARAM EQU $1d
CARD_DATA_MOVE1_ANIMATION EQU $1e
; TYPE_PKMN card only
@@ -55,7 +55,7 @@ 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_EFFECT_PARAM EQU $30
CARD_DATA_MOVE2_ANIMATION EQU $31
; TYPE_PKMN card only
@@ -164,32 +164,74 @@ POKEMON_POWER EQU $04
RESIDUAL_F EQU 7
RESIDUAL EQU 1 << RESIDUAL_F
+; Bit mask for CheckLoadedMoveFlag
+; for flag address from wLoadedMoveFlag1
+MOVE_FLAG1_ADDRESS EQU $0 << 3
+MOVE_FLAG2_ADDRESS EQU $1 << 3
+MOVE_FLAG3_ADDRESS EQU $2 << 3
+
; CARD_DATA_MOVE*_FLAG1 constants
-INFLICT_POISON EQU %00000001
-INFLICT_SLEEP EQU %00000010
-INFLICT_PARALYSIS EQU %00000100
-INFLICT_CONFUSION EQU %00001000
-LOW_RECOIL EQU %00010000
-DAMAGE_TO_OPPONENT_BENCH EQU %00100000
-HIGH_RECOIL EQU %01000000
-DRAW_CARD EQU %10000000
+INFLICT_POISON_F EQU %000
+INFLICT_SLEEP_F EQU %001
+INFLICT_PARALYSIS_F EQU %010
+INFLICT_CONFUSION_F EQU %011
+LOW_RECOIL_F EQU %100
+DAMAGE_TO_OPPONENT_BENCH_F EQU %101
+HIGH_RECOIL_F EQU %110
+DRAW_CARD_F EQU %111
; 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
-NULLIFY_OR_WEAKEN_ATTACK EQU %00000100
-DISCARD_ENERGY EQU %00001000
-ATTACHED_ENERGY_BOOST EQU %00010000
-FLAG_2_BIT_5 EQU %00100000
-FLAG_2_BIT_6 EQU %01000000
-FLAG_2_BIT_7 EQU %10000000
+SWITCH_OPPONENT_POKEMON_F EQU %000
+HEAL_USER_F EQU %001
+NULLIFY_OR_WEAKEN_ATTACK_F EQU %010
+DISCARD_ENERGY_F EQU %011
+ATTACHED_ENERGY_BOOST_F EQU %100
+FLAG_2_BIT_5_F EQU %101
+FLAG_2_BIT_6_F EQU %110
+FLAG_2_BIT_7_F EQU %111
; 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
+BOOST_IF_TAKEN_DAMAGE_F EQU %000
+FLAG_3_BIT_1_F EQU %001
+
+; CARD_DATA_MOVE*_FLAG1_F constants
+INFLICT_POISON EQU $1 << INFLICT_POISON_F
+INFLICT_SLEEP EQU $1 << INFLICT_SLEEP_F
+INFLICT_PARALYSIS EQU $1 << INFLICT_PARALYSIS_F
+INFLICT_CONFUSION EQU $1 << INFLICT_CONFUSION_F
+LOW_RECOIL EQU $1 << LOW_RECOIL_F
+DAMAGE_TO_OPPONENT_BENCH EQU $1 << DAMAGE_TO_OPPONENT_BENCH_F
+HIGH_RECOIL EQU $1 << HIGH_RECOIL_F
+DRAW_CARD EQU $1 << DRAW_CARD_F
+
+; CARD_DATA_MOVE*_FLAG2_F constants
+; bits 5, 6 and 7 cover a wide variety of effects
+SWITCH_OPPONENT_POKEMON EQU $1 << SWITCH_OPPONENT_POKEMON_F
+HEAL_USER EQU $1 << HEAL_USER_F
+NULLIFY_OR_WEAKEN_ATTACK EQU $1 << NULLIFY_OR_WEAKEN_ATTACK_F
+DISCARD_ENERGY EQU $1 << DISCARD_ENERGY_F
+ATTACHED_ENERGY_BOOST EQU $1 << ATTACHED_ENERGY_BOOST_F
+FLAG_2_BIT_5 EQU $1 << FLAG_2_BIT_5_F
+FLAG_2_BIT_6 EQU $1 << FLAG_2_BIT_6_F
+FLAG_2_BIT_7 EQU $1 << FLAG_2_BIT_7_F
+
+; CARD_DATA_MOVE*_FLAG3_F constants
+; bit 1 covers a wide variety of effects
+; bits 2-7 are unused
+BOOST_IF_TAKEN_DAMAGE EQU $1 << BOOST_IF_TAKEN_DAMAGE_F
+FLAG_3_BIT_1 EQU $1 << FLAG_3_BIT_1_F
; special CARD_DATA_RETREAT_COST values
UNABLE_RETREAT EQU $64
+
+; attack index constants
+FIRST_ATTACK_OR_PKMN_POWER EQU $0
+SECOND_ATTACK EQU $1
+
+; whether move with the ATTACHED_ENERGY_BOOST flag
+; has limit on attached energy cards boost.
+MAX_ENERGY_BOOST_IS_LIMITED EQU $2
+MAX_ENERGY_BOOST_IS_NOT_LIMITED EQU $3