aboutsummaryrefslogtreecommitdiffstats
path: root/engine/battle/moveEffects/heal_effect.asm
diff options
context:
space:
mode:
authorRangi <35663410+Rangi42@users.noreply.github.com>2020-07-03 09:38:52 -0400
committerGitHub <noreply@github.com>2020-07-03 09:38:52 -0400
commitc85050497c1bd062e9cd40bf5b32fa3beca366cc (patch)
tree9593ddd3ab820223ab580d5fc0ae133b485b8315 /engine/battle/moveEffects/heal_effect.asm
parentActually run .travis/webhook.sh (diff)
parentAdd engine/movie/oak_speech/ subdirectory (diff)
downloadpokeyellow-c85050497c1bd062e9cd40bf5b32fa3beca366cc.tar.gz
pokeyellow-c85050497c1bd062e9cd40bf5b32fa3beca366cc.tar.xz
pokeyellow-c85050497c1bd062e9cd40bf5b32fa3beca366cc.zip
Merge pull request #256 from Rangi42/master
Add subdirectories to engine/ similar to pokecrystal
Diffstat (limited to 'engine/battle/moveEffects/heal_effect.asm')
-rw-r--r--engine/battle/moveEffects/heal_effect.asm120
1 files changed, 0 insertions, 120 deletions
diff --git a/engine/battle/moveEffects/heal_effect.asm b/engine/battle/moveEffects/heal_effect.asm
deleted file mode 100644
index 2e68acc0..00000000
--- a/engine/battle/moveEffects/heal_effect.asm
+++ /dev/null
@@ -1,120 +0,0 @@
-HealEffect_:
- ld a, [H_WHOSETURN]
- and a
- ld de, wBattleMonHP
- ld hl, wBattleMonMaxHP
- ld a, [wPlayerMoveNum]
- jr z, .healEffect
- ld de, wEnemyMonHP
- ld hl, wEnemyMonMaxHP
- ld a, [wEnemyMoveNum]
-.healEffect
- ld b, a
- ld a, [de]
- cp [hl] ; most significant bytes comparison is ignored
- ; causes the move to miss if max HP is 255 or 511 points higher than the current HP
- inc de
- inc hl
- ld a, [de]
- sbc [hl]
- jp z, .failed ; no effect if user's HP is already at its maximum
- ld a, b
- cp REST
- jr nz, .healHP
- push hl
- push de
- push af
- ld c, 50
- call DelayFrames
- ld hl, wBattleMonStatus
- ld a, [H_WHOSETURN]
- and a
- jr z, .restEffect
- ld hl, wEnemyMonStatus
-.restEffect
- ld a, [hl]
- and a
- ld [hl], 2 ; clear status and set number of turns asleep to 2
- ld hl, StartedSleepingEffect ; if mon didn't have an status
- jr z, .printRestText
- ld hl, FellAsleepBecameHealthyText ; if mon had an status
-.printRestText
- call PrintText
- pop af
- pop de
- pop hl
-.healHP
- ld a, [hld]
- ld [wHPBarMaxHP], a
- ld c, a
- ld a, [hl]
- ld [wHPBarMaxHP+1], a
- ld b, a
- jr z, .gotHPAmountToHeal
-; Recover and Softboiled only heal for half the mon's max HP
- srl b
- rr c
-.gotHPAmountToHeal
-; update HP
- ld a, [de]
- ld [wHPBarOldHP], a
- add c
- ld [de], a
- ld [wHPBarNewHP], a
- dec de
- ld a, [de]
- ld [wHPBarOldHP+1], a
- adc b
- ld [de], a
- ld [wHPBarNewHP+1], a
- inc hl
- inc de
- ld a, [de]
- dec de
- sub [hl]
- dec hl
- ld a, [de]
- sbc [hl]
- jr c, .playAnim
-; copy max HP to current HP if an overflow occurred
- ld a, [hli]
- ld [de], a
- ld [wHPBarNewHP+1], a
- inc de
- ld a, [hl]
- ld [de], a
- ld [wHPBarNewHP], a
-.playAnim
- ld hl, PlayCurrentMoveAnimation
- call BankswitchEtoF
- ld a, [H_WHOSETURN]
- and a
- coord hl, 10, 9
- ld a, $1
- jr z, .updateHPBar
- coord hl, 2, 2
- xor a
-.updateHPBar
- ld [wHPBarType], a
- predef UpdateHPBar2
- ld hl, DrawHUDsAndHPBars
- call BankswitchEtoF
- ld hl, RegainedHealthText
- jp PrintText
-.failed
- ld c, 50
- call DelayFrames
- ld hl, PrintButItFailedText_
- jp BankswitchEtoF
-
-StartedSleepingEffect:
- TX_FAR _StartedSleepingEffect
- db "@"
-
-FellAsleepBecameHealthyText:
- TX_FAR _FellAsleepBecameHealthyText
- db "@"
-
-RegainedHealthText:
- TX_FAR _RegainedHealthText
- db "@"