mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 15:45:24 +13:00
Add subdirectories to engine/ similar to pokecrystal
This commit is contained in:
parent
5559d51c86
commit
f275790aec
124 changed files with 342 additions and 346 deletions
70
engine/battle/move_effects/recoil.asm
Normal file
70
engine/battle/move_effects/recoil.asm
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
RecoilEffect_:
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld a, [wPlayerMoveNum]
|
||||
ld hl, wBattleMonMaxHP
|
||||
jr z, .recoilEffect
|
||||
ld a, [wEnemyMoveNum]
|
||||
ld hl, wEnemyMonMaxHP
|
||||
.recoilEffect
|
||||
ld d, a
|
||||
ld a, [wDamage]
|
||||
ld b, a
|
||||
ld a, [wDamage + 1]
|
||||
ld c, a
|
||||
srl b
|
||||
rr c
|
||||
ld a, d
|
||||
cp STRUGGLE ; struggle deals 50% recoil damage
|
||||
jr z, .gotRecoilDamage
|
||||
srl b
|
||||
rr c
|
||||
.gotRecoilDamage
|
||||
ld a, b
|
||||
or c
|
||||
jr nz, .updateHP
|
||||
inc c ; minimum recoil damage is 1
|
||||
.updateHP
|
||||
; subtract HP from user due to the recoil damage
|
||||
ld a, [hli]
|
||||
ld [wHPBarMaxHP+1], a
|
||||
ld a, [hl]
|
||||
ld [wHPBarMaxHP], a
|
||||
push bc
|
||||
ld bc, wBattleMonHP - wBattleMonMaxHP
|
||||
add hl, bc
|
||||
pop bc
|
||||
ld a, [hl]
|
||||
ld [wHPBarOldHP], a
|
||||
sub c
|
||||
ld [hld], a
|
||||
ld [wHPBarNewHP], a
|
||||
ld a, [hl]
|
||||
ld [wHPBarOldHP+1], a
|
||||
sbc b
|
||||
ld [hl], a
|
||||
ld [wHPBarNewHP+1], a
|
||||
jr nc, .getHPBarCoords
|
||||
; if recoil damage is higher than the Pokemon's HP, set its HP to 0
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld hl, wHPBarNewHP
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
.getHPBarCoords
|
||||
coord hl, 10, 9
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
ld a, $1
|
||||
jr z, .updateHPBar
|
||||
coord hl, 2, 2
|
||||
xor a
|
||||
.updateHPBar
|
||||
ld [wHPBarType], a
|
||||
predef UpdateHPBar2
|
||||
ld hl, HitWithRecoilText
|
||||
jp PrintText
|
||||
HitWithRecoilText:
|
||||
TX_FAR _HitWithRecoilText
|
||||
db "@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue