summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/constants/card_data_constants.asm13
-rwxr-xr-xsrc/engine/bank1.asm6
-rwxr-xr-xsrc/engine/home.asm62
-rwxr-xr-xsrc/macros.asm3
-rwxr-xr-xsrc/wram.asm27
5 files changed, 50 insertions, 61 deletions
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm
index 44d181b..bc4e6d3 100644
--- a/src/constants/card_data_constants.asm
+++ b/src/constants/card_data_constants.asm
@@ -58,12 +58,13 @@ WR_FIGHTING EQU $08
WR_PSYCHIC EQU $04
;;; move category (6th param of Pokemon cards move data)
-DAMAGE_NORMAL EQU $0
-DAMAGE_PLUS EQU $1
-DAMAGE_MINUS EQU $2
-DAMAGE_X EQU $3
-POKEMON_POWER EQU $4
-RESIDUAL EQU $80
+DAMAGE_NORMAL EQU $0
+DAMAGE_PLUS EQU $1
+DAMAGE_MINUS EQU $2
+DAMAGE_X EQU $3
+POKEMON_POWER EQU $4
+RESIDUAL_F EQU 7
+RESIDUAL EQU 1 << RESIDUAL_F
;;; flags 1 (8th param of Pokemon cards move data)
INFLICT_POISON EQU %00000001
diff --git a/src/engine/bank1.asm b/src/engine/bank1.asm
index 1793403..d6ec72b 100755
--- a/src/engine/bank1.asm
+++ b/src/engine/bank1.asm
@@ -536,9 +536,9 @@ OpenBattleAttackMenu: ; 46fc (1:46fc)
ld d, [hl] ; card id
inc hl
ld e, [hl] ; attack index (0 or 1)
- call Func_16c0
+ call CopyMoveDataAndDamageToBuffer
call HandleAmnesiaSubstatus
- jr c, .asm_477d
+ jr c, .cannotUseDueToAmnesia
ld a, $07
call $51e7
jp c, Func_4268
@@ -546,7 +546,7 @@ OpenBattleAttackMenu: ; 46fc (1:46fc)
jp c, Func_426d
ret
-.asm_477d ; 477d (1:477d)
+.cannotUseDueToAmnesia ; 477d (1:477d)
call DrawWideTextBox_WaitForInput
jr .tryOpenAttackMenu
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 50ab9d2..a739504 100755
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -2492,7 +2492,7 @@ GetOpposingTurnDuelistVariable: ; 1611 (0:1611)
INCBIN "baserom.gbc",$161e,$16c0 - $161e
-Func_16c0: ; 16c0 (0:16c0)
+CopyMoveDataAndDamageToBuffer: ; 16c0 (0:16c0)
ld a, e
ld [wSelectedMoveIndex], a
ld a, d
@@ -2505,7 +2505,7 @@ Func_16c0: ; 16c0 (0:16c0)
jr nz, .gotMove
ld hl, wCardBuffer1Move2
.gotMove
- ld de, wcca6
+ ld de, wMoveBuffer
ld c, wCardBuffer1Move2 - wCardBuffer1Move1
.copyLoop
ld a, [hli]
@@ -2513,8 +2513,8 @@ Func_16c0: ; 16c0 (0:16c0)
inc de
dec c
jr nz, .copyLoop
- ld a, [wccb0]
- ld hl, $ccb9
+ ld a, [wMoveBufferDamage]
+ ld hl, wDamage
ld [hli], a
xor a
ld [hl], a
@@ -2556,8 +2556,8 @@ Func_1730: ; 1730 (0:1730)
ld [wcc11], a
ld a, [wccc2]
ld [wcc12], a
- ld a, [wccb1]
- cp $4
+ ld a, [wMoveBufferCategory]
+ cp POKEMON_POWER
jp z, Func_184b
call Func_16f6
ld a, $1
@@ -2592,8 +2592,8 @@ Func_1730: ; 1730 (0:1730)
ld a, $a
call Func_0f7f
call $7415
- ld a, [wccb1]
- and $80
+ ld a, [wMoveBufferCategory]
+ and RESIDUAL
jr nz, .asm_17ad
call SwapTurn
call HandleNoDamageOrEffectSubstatus
@@ -2635,7 +2635,7 @@ Func_1730: ; 1730 (0:1730)
Func_17ed: ; 17ed (0:17ed)
call DrawWideTextBox_WaitForInput
xor a
- ld hl, $ccb9
+ ld hl, wDamage
ld [hli], a
ld [hl], a
ld a, $1
@@ -2679,7 +2679,7 @@ Func_1828: ; 1828 (0:1828)
text_hl DamageToSelfDueToConfusionText
call DrawWideTextBox_PrintText
ld a, $75
- ld [wccb8], a
+ ld [wMoveBufferUnknown2], a
ld a, $14
call Func_195c
call Func_1bb4
@@ -2731,8 +2731,8 @@ Func_1874: ; 1874 (0:1874)
ret
Func_189d: ; 189d (0:189d)
- ld a, [wccb1]
- bit 7, a
+ ld a, [wMoveBufferCategory]
+ bit RESIDUAL_F, a
ret nz
ld a, [wNoDamageOrEffect]
or a
@@ -2789,7 +2789,7 @@ Func_18d7: ; 18d7 (0:18d7)
INCBIN "baserom.gbc",$18f9,$195c - $18f9
Func_195c: ; 195c (0:195c)
- ld hl, $ccb9
+ ld hl, wDamage
ld [hli], a
ld [hl], $0
ld a, [wNoDamageOrEffect]
@@ -2818,7 +2818,7 @@ Func_195c: ; 195c (0:195c)
Func_1994: ; 1994 (0:1994)
xor a
ld [wccc1], a
- ld hl, $ccb9
+ ld hl, wDamage
ld a, [hli]
or [hl]
jr nz, .asm_19a3
@@ -2898,7 +2898,7 @@ INCBIN "baserom.gbc",$1a1a,$1a22 - $1a1a
Func_1a22: ; 1a22 (0:1a22)
xor a
ld [wccc1], a
- ld hl, $ccb9
+ ld hl, wDamage
ld a, [hli]
or [hl]
or a
@@ -3049,9 +3049,9 @@ Func_1b8d: ; 1b8d (0:1b8d)
xor a
ld [hli], a
ld [hli], a
- ld a, [wccaa]
+ ld a, [wMoveBufferName]
ld [hli], a
- ld a, [wccab]
+ ld a, [$ccab]
ld [hli], a
text_hl PokemonsAttackText ; text when using an attack
call DrawWideTextBox_PrintText
@@ -5309,8 +5309,8 @@ Func_2fcb: ; 2fcb (0:2fcb)
; input: a = move or trainer card effect command ID
TryExecuteEffectCommandFunction: ; 2fd9 (0:2fd9)
push af
-; grab pointer to command list from wCurrentMoveOrCardEffect
- ld hl, wCurrentMoveOrCardEffect
+; grab pointer to command list from wMoveBufferEffectCommands
+ ld hl, wMoveBufferEffectCommands
ld a, [hli]
ld h, [hl]
ld l, a
@@ -5421,7 +5421,7 @@ LoadDeck: ; 302c (0:302c)
Func_3055: ; 3055 (0:3055)
push hl
- ld hl, $ccb9
+ ld hl, wDamage
add [hl]
ld [hli], a
ld a, $0
@@ -5434,7 +5434,7 @@ Func_3061: ; 3061 (0:3061)
push de
push hl
ld e, a
- ld hl, $ccb9
+ ld hl, wDamage
ld a, [hl]
sub e
ld [hli], a
@@ -5832,8 +5832,8 @@ HandleSubstatus2DamageReduction: ; 3269 (0:3269)
.notAffectedBySubstatus1
call Func_34ef
ret c
- ld a, [wccb1]
- cp $4
+ ld a, [wMoveBufferCategory]
+ cp POKEMON_POWER
ret z
ld a, [wccc4]
cp $9b
@@ -5873,8 +5873,8 @@ HandleSubstatus2DamageReduction: ; 3269 (0:3269)
ld d, h
ret
.asm_32d8
- ld a, [wccb1]
- cp $4
+ ld a, [wMoveBufferCategory]
+ cp POKEMON_POWER
ret z
ld bc, $001e
call CompareDEtoBC
@@ -5980,8 +5980,8 @@ CheckSandAttackOrSmokescreenSubstatus: ; 3414 (0:3414)
HandleNoDamageOrEffectSubstatus: ; 3432 (0:3432)
xor a
ld [wNoDamageOrEffect], a
- ld a, [wccb1]
- cp $4
+ ld a, [wMoveBufferCategory]
+ cp POKEMON_POWER
ret z
ld a, DUELVARS_ARENA_CARD_SUBSTATUS1
call GetTurnDuelistVariable
@@ -6033,8 +6033,8 @@ Func_348a: ; 348a (0:348a)
or a
ret
.asm_3493
- ld a, [wccb1]
- cp $4
+ ld a, [wMoveBufferCategory]
+ cp POKEMON_POWER
jr z, .asm_3491
ld a, [wcceb]
call Func_34f0
@@ -6230,8 +6230,8 @@ Func_367b: ; 367b (0:367b)
jr z, .asm_3683
ret
.asm_3683
- ld a, [wccb1]
- and $80
+ ld a, [wMoveBufferCategory]
+ and RESIDUAL
ret nz
ld a, [wccbf]
or a
diff --git a/src/macros.asm b/src/macros.asm
index 22046c6..ab169cc 100755
--- a/src/macros.asm
+++ b/src/macros.asm
@@ -363,5 +363,6 @@ move_data_struct: MACRO
\1Flag1:: db
\1Flag2:: db
\1Flag3:: db
-\1Unknown:: ds $2
+\1Unknown1:: db
+\1Unknown2:: db
ENDM
diff --git a/src/wram.asm b/src/wram.asm
index c675f9e..7daef8b 100755
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -455,27 +455,14 @@ wCardBuffer1:: ; cc24
wCardBuffer2:: ; cc65
card_data_struct wCardBuffer2
-wcca6:: ; cca6
- ds $4
-
-wccaa:: ; ccaa
- ds $1
-
-wccab:: ; ccab
- ds $5
-
-wccb0:: ; ccb0
- ds $1
+wMoveBuffer:: ; cca6
+ move_data_struct wMoveBuffer
-wccb1:: ; ccb1
- ds $1
-
-wCurrentMoveOrCardEffect:: ; ccb2
- ds $1
- ds $5
-
-wccb8:: ; ccb8
- ds $7
+; big-endian
+wDamage:: ; ccb9
+ ds $2
+
+ ds $4
wccbf:: ; ccbf
ds $2