diff options
author | xCrystal <rgr.crystal@gmail.com> | 2016-03-06 20:26:43 +0100 |
---|---|---|
committer | xCrystal <rgr.crystal@gmail.com> | 2016-03-06 20:27:47 +0100 |
commit | d351b99bd529c265d6084c51789006ee378c19be (patch) | |
tree | b7aaff81563cd32c9197d67343aca605677c40dd /src | |
parent | 3a04be80b0e7fd12716207e78638cf08171ea471 (diff) |
wMoveBuffer and wDamage
Diffstat (limited to 'src')
-rw-r--r-- | src/constants/card_data_constants.asm | 13 | ||||
-rwxr-xr-x | src/engine/bank1.asm | 6 | ||||
-rwxr-xr-x | src/engine/home.asm | 62 | ||||
-rwxr-xr-x | src/macros.asm | 3 | ||||
-rwxr-xr-x | src/wram.asm | 27 |
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 |