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.asm69
1 files changed, 51 insertions, 18 deletions
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm
index 641d04b..92c98e4 100644
--- a/src/constants/card_data_constants.asm
+++ b/src/constants/card_data_constants.asm
@@ -164,32 +164,65 @@ 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 EQU %000
+INFLICT_SLEEP EQU %001
+INFLICT_PARALYSIS EQU %010
+INFLICT_CONFUSION EQU %011
+LOW_RECOIL EQU %100
+DAMAGE_TO_OPPONENT_BENCH EQU %101
+HIGH_RECOIL EQU %110
+DRAW_CARD 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 EQU %000
+HEAL_USER EQU %001
+NULLIFY_OR_WEAKEN_ATTACK EQU %010
+DISCARD_ENERGY EQU %011
+ATTACHED_ENERGY_BOOST EQU %100
+FLAG_2_BIT_5 EQU %101
+FLAG_2_BIT_6 EQU %110
+FLAG_2_BIT_7 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 EQU %000
+FLAG_3_BIT_1 EQU %001
+
+; CARD_DATA_MOVE*_FLAG1_F constants
+INFLICT_POISON_F EQU $1 << INFLICT_POISON
+INFLICT_SLEEP_F EQU $1 << INFLICT_SLEEP
+INFLICT_PARALYSIS_F EQU $1 << INFLICT_PARALYSIS
+INFLICT_CONFUSION_F EQU $1 << INFLICT_CONFUSION
+LOW_RECOIL_F EQU $1 << LOW_RECOIL
+DAMAGE_TO_OPPONENT_BENCH_F EQU $1 << DAMAGE_TO_OPPONENT_BENCH
+HIGH_RECOIL_F EQU $1 << HIGH_RECOIL
+DRAW_CARD_F EQU $1 << DRAW_CARD
+
+; CARD_DATA_MOVE*_FLAG2_F constants
+; bits 5, 6 and 7 cover a wide variety of effects
+SWITCH_OPPONENT_POKEMON_F EQU $1 << SWITCH_OPPONENT_POKEMON
+HEAL_USER_F EQU $1 << HEAL_USER
+NULLIFY_OR_WEAKEN_ATTACK_F EQU $1 << NULLIFY_OR_WEAKEN_ATTACK
+DISCARD_ENERGY_F EQU $1 << DISCARD_ENERGY
+ATTACHED_ENERGY_BOOST_F EQU $1 << ATTACHED_ENERGY_BOOST
+FLAG_2_BIT_5_F EQU $1 << FLAG_2_BIT_5
+FLAG_2_BIT_6_F EQU $1 << FLAG_2_BIT_6
+FLAG_2_BIT_7_F EQU $1 << FLAG_2_BIT_7
+
+; CARD_DATA_MOVE*_FLAG3_F constants
+; bit 1 covers a wide variety of effects
+; bits 2-7 are unused
+BOOST_IF_TAKEN_DAMAGE_F EQU $1 << BOOST_IF_TAKEN_DAMAGE
+FLAG_3_BIT_1_F EQU $1 << FLAG_3_BIT_1
; special CARD_DATA_RETREAT_COST values
UNABLE_RETREAT EQU $64